matlab如何用3组数据绘制三维曲面现在有3组数据 x是79*1的 y是4*1的,z是316*1的,用mesh(x,y,z)提示错误说z必须是矩阵,但我的z好像已经是矩阵啦,用[X,Y]=meshgrid(x,y)生成网格之后,还是不行,.
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/25 04:53:28
matlab如何用3组数据绘制三维曲面现在有3组数据 x是79*1的 y是4*1的,z是316*1的,用mesh(x,y,z)提示错误说z必须是矩阵,但我的z好像已经是矩阵啦,用[X,Y]=meshgrid(x,y)生成网格之后,还是不行,.
matlab如何用3组数据绘制三维曲面
现在有3组数据 x是79*1的 y是4*1的,z是316*1的,用mesh(x,y,z)提示错误说z必须是矩阵,但我的z好像已经是矩阵啦,用[X,Y]=meshgrid(x,y)生成网格之后,还是不行,.
matlab如何用3组数据绘制三维曲面现在有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