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)生成网格之后,还是不行,。。求大神指点 啊 展开
 我来答
dukinkin
推荐于2018-01-03 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:884万
展开全部
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
我行我素850915
推荐于2018-03-30 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1687万
展开全部
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)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
matlab爱好者
2021-01-03 · matlab编程与科研资料分享,欢迎关注!
matlab爱好者
采纳数:16 获赞数:28

向TA提问 私信TA
展开全部

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-02-25
展开全部
把你的数据贴上来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-02-24
展开全部
向量这个只能画三维空间曲线啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式