matlab如何用3组数据绘制三维曲面
现在有3组数据x是79*1的y是4*1的,z是316*1的,用mesh(x,y,z)提示错误说z必须是矩阵,但我的z好像已经是矩阵啦,用[X,Y]=meshgrid(x,...
现在有3组数据 x是79*1的 y是4*1的,z是316*1的,用mesh(x,y,z)提示错误说z必须是矩阵,但我的z好像已经是矩阵啦,用[X,Y]=meshgrid(x,y)生成网格之后,还是不行,。。求大神指点 啊
展开
展开全部
x长度是79x1
y长度是4x1
所以z的大小应该是4x79
由于原来z是316x1的,并不知道储存的顺序,可能有两种对应情况
第一种 316个z是以下的方式对应的,先改变y,后改变x
z1 x1,y1
z2 x1,y2
z3 x1,y3
z4 x1,y4
z5 x2,y1
.............
z315 x79,y3
z316 x79,y4
那么 z=reshape(z,[4 79]); mesh(x,y,z)
第二种 316个z是以下的方式对应的,先改变x,后改变y
z1 x1,y1
z2 x2,y1
z3 x3,y1
z4 x4,y1
z5 x5,y1
.............
z315 x78,y4
z316 x79,y4
那么 z=reshape(z,[79 4]).'; mesh(x,y,z)
注意
mesh(x,y,z)
x和y可以是向量,就是一行,或者一列的数据。
而z要是矩阵,不能是一行或者一列,要是个多行多列的矩阵
如果x的长度是n,y的长度是m,那么z的大小要是 mxn
y长度是4x1
所以z的大小应该是4x79
由于原来z是316x1的,并不知道储存的顺序,可能有两种对应情况
第一种 316个z是以下的方式对应的,先改变y,后改变x
z1 x1,y1
z2 x1,y2
z3 x1,y3
z4 x1,y4
z5 x2,y1
.............
z315 x79,y3
z316 x79,y4
那么 z=reshape(z,[4 79]); mesh(x,y,z)
第二种 316个z是以下的方式对应的,先改变x,后改变y
z1 x1,y1
z2 x2,y1
z3 x3,y1
z4 x4,y1
z5 x5,y1
.............
z315 x78,y4
z316 x79,y4
那么 z=reshape(z,[79 4]).'; mesh(x,y,z)
注意
mesh(x,y,z)
x和y可以是向量,就是一行,或者一列的数据。
而z要是矩阵,不能是一行或者一列,要是个多行多列的矩阵
如果x的长度是n,y的长度是m,那么z的大小要是 mxn
展开全部
3组数据就是曲面的x,y,z坐标,程序根据要求不同而异,程序可这样写:
[x,y,z]=meshgrid(linspace(-5,5));
val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3;%isosurface(x,y,z,val,0)
p = patch(isosurface(x,y,z,val,0));
isonormals(x,y,z,val,p)
set(p,'FaceColor','red','EdgeColor','none');
axis equal
grid on
view(-10,24)
%colormap(hot)
%axis off
camlight
rotate3d on
colormap(jet)
colorbar('location','EastOutside')
%colorbar('East')
ylabel(colorbar,'Emission intensity (a.u.)','fontsize',18)
set(gca,'fontsize',14,'linewidth',2)
[x,y,z]=meshgrid(linspace(-5,5));
val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3;%isosurface(x,y,z,val,0)
p = patch(isosurface(x,y,z,val,0));
isonormals(x,y,z,val,p)
set(p,'FaceColor','red','EdgeColor','none');
axis equal
grid on
view(-10,24)
%colormap(hot)
%axis off
camlight
rotate3d on
colormap(jet)
colorbar('location','EastOutside')
%colorbar('East')
ylabel(colorbar,'Emission intensity (a.u.)','fontsize',18)
set(gca,'fontsize',14,'linewidth',2)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-25
展开全部
把你的数据贴上来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-24
展开全部
向量这个只能画三维空间曲线啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询