surf三维画图[matlab]

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a19990412/article/details/78301739

【如果你画的图是全黑的,也可以看看这篇文章】
如果想看用mesh画三维图,可以看这里
surf 三维阴影曲面画图,常用的函数格式
surf(X,Y,Z) X,Y,Z都是矩阵值,规模相等
surf(x,y,Z)x,y是n和m长度的向量,Z是m*n的矩阵(这个也很少用到,最多还是上面那些)

代码1:

x = -8:0.05:8;
y = -3:0.01:5;
[X, Y] = meshgrid(x,y);    % 通过meshgird设置矩形网络
Z = sin(X) + cos(Y) - X;
surf(X,Y,Z);

图片显示是这样的(默认的)
全黑图

上面的是不是很丑?很多人是不是都开始怀疑为什么要搞出个surf函数来了emmm。

我们对上面的代码做一点点修改

x = -8:0.05:8;
y = -3:0.01:5;
[X, Y] = meshgrid(x,y);    % 通过meshgird设置矩形网络
Z = sin(X) + cos(Y) - X;
surf(X,Y,Z);
shading interp             % 修改的地方

图片二

这样就出现了彩图了。如果把那行命令去掉,就变成黑的了。
但是还有一个命令

x = -8:0.05:8;
y = -3:0.01:5;
[X, Y] = meshgrid(x,y);    % 通过meshgird设置矩形网络
Z = sin(X) + cos(Y) - X;
surf(X,Y,Z);
shading flat

这串代码的运行结果也是跟上面的是一样的。

猜你喜欢

转载自blog.csdn.net/a19990412/article/details/78301739