Matlab学习笔记–绘制曲面图
参考《MATLAB实用教程》(第二版)
曲面图:可以将数据绘制成为三维曲面,主要可以用mesh和surf函数进行绘制
首先是绘制mesh图:
x=linspace(1,50,10);
mesh(x)
错误使用 mesh (line 83)
Z 必须为矩阵,不能是标量或矢量。
必须要矩阵才可以用mesh(z)
z=[1:10;2:2:20;3:12];
mesh(z)
得出的图像是这样
当然,函数mesh可以有3个自变量.,即mesh(x,y,z),代码实现如下:
x=linspace(1,50,10);
y=linspace(500,1000,3);
z=[1:10;2:2:20;3:12];
mesh(x,y,z)
运行的结果与上图一样,就不放图了。值得注意的是,其中矢量x的个数必须与z的列数相同,而矢量y的元素个数必须与z的行数相同。
surf图的绘制:
surf图绘制的是着色的三维曲面图,它的颜色由Z值决定。surf的参数与mesh是相同的,代码实现如下:
x=linspace(1,50,10);
y=linspace(500,1000,3);
z=[1:10;2:2:20;3:12];
surf(x,y,z)
得到图像:
在实现这个操作的基础上,我们还可以用shading命令控制图形的阴影效果,代码实现:
shading interp
shading flat
%去掉着色图中的网格
得到结果如下:
我们可以使用colormap来更改它的颜色(当前我用的是colormap(winter))
书上列举的色系有:autumn,bone,hot,spring,colorcube,hsv,summer,cool,pink,winter,copper,prism,jet(默认),flag,white.
我用summer色系来做一个示范:
colormap(summer)
其实我觉得这些色系都挺好看的~
如果想知道更多可以用help colormap命令
绘制等高图:
contour(x,y,z)
绘制伪色图:
[x,y,z]=peaks;
pcolor(x,y,z)shading interp
contour(x,y,z,20,‘k’)