Matlab学习笔记之绘图单元1

时间:2024-05-19 12:43:50

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)

得出的图像是这样
Matlab学习笔记之绘图单元1
当然,函数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)

得到图像:Matlab学习笔记之绘图单元1
在实现这个操作的基础上,我们还可以用shading命令控制图形的阴影效果,代码实现:

shading interp

Matlab学习笔记之绘图单元1

shading flat
%去掉着色图中的网格

得到结果如下:
Matlab学习笔记之绘图单元1
我们可以使用colormap来更改它的颜色(当前我用的是colormap(winter))
书上列举的色系有:autumn,bone,hot,spring,colorcube,hsv,summer,cool,pink,winter,copper,prism,jet(默认),flag,white.
我用summer色系来做一个示范:

colormap(summer)

Matlab学习笔记之绘图单元1
其实我觉得这些色系都挺好看的~
如果想知道更多可以用help colormap命令

绘制等高图:

contour(x,y,z)
Matlab学习笔记之绘图单元1

绘制伪色图:

[x,y,z]=peaks;
pcolor(x,y,z)
Matlab学习笔记之绘图单元1

shading interp

Matlab学习笔记之绘图单元1

contour(x,y,z,20,‘k’)
Matlab学习笔记之绘图单元1