用三维画图软件经常会出现下面错误
以mesh(x,y,z)为例:
主要原因是因为没有注意Z数据格式,Z必须是矩阵形式。而且Z矩阵的m*n必须与y,x相关,
mesh(X,Y,Z)
使用 Z
确定的颜色绘制线框网格,因此其颜色与曲面高度成比例。如果 X
和 Y
为向量,length(X) = n
且 length(Y) = m
,其中 [m,n] = size(Z)
。在本示例中,(X(j), Y(i), Z(i,j)) 是线框网格线的交点;X
和 Y
分别对应于 Z
的列和行。如果 X
和 Y
为矩阵,则 (X(i,j), Y(i,j), Z(i,j)) 是线框网格线的交点。X
、Y
或 Z
中的值可以是数值、日期时间值、持续时间值或分类值。
若Z是你想要的矩阵,还出现这种错误,试一试量x,y换换位置,或者将Z转置。
建议,x,y设置步长建议使用linspace()函数,这样就能确保矩阵维度一致。
mesh(x,y,z)函数详情请参考https://ww2.mathworks.cn/help/matlab/ref/mesh.html?s_tid=srchtitle
其余三位绘图函数也是这样修改!
给学matlab的人,包括我自己一个勉励:路漫漫其修遠兮,吾將上下而求索