MATLAB错误使用 surf (第 71 行)X、Y、Z 和 C 不能是复数。
surf(X,Y,Z) 创建一个三维曲面图,它是一个具有实色边和实色面的三维曲面。该函数将矩阵 Z 中的值绘制为由 X 和 Y 定义的 x-y 平面中的网格上方的高度。曲面的颜色根据 Z 指定的高度而变化。
此外,surf(X,Y,Z,C) 还指定曲面的颜色。
surf(Z) 创建一个曲面图,并将 Z 中元素的列索引和行索引用作 x 坐标和 y 坐标。
此外,surf(Z,C) 还指定曲面的颜色。
surf(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。
surf(___,Name,Value) 使用一个或多个名称-值对组参数指定曲面属性。例如,‘FaceAlpha’,0.5 创建半透明曲面。
s = surf(___) 将返回一个图曲面对象。在创建曲面之后可使用 s 对其进行修改。有关属性列表,请参阅 Surface 属性。
在代码中锁定在这一行报错。
z=an*cos(z1)+z;
于是解决办法
z=abs(an*cos(z1)+z);
完美解决。
只能针对这一种原因,其他原因暂未解决。