毕业季马上要到了,给大家总结一些我平常用到的奇特但是好用的Matlab画图技巧
光滑变化的三维曲面
三维曲面展示是目前MATLAB上人眼最容易直观观察的多维矩阵内容一种形式,因此三维矩阵的画图在很多的论文里都有涉及。常用的画图函数有mesh,surf,contourf,plot3等等
因为论文实际打印图片存在固定视角无法旋转的特别,为了详尽的表述一整个二维矩阵的内容,MATLAB中三维绘图除了用Z轴表示数据外,将不同的Z轴对应不同的颜色表示。
下面依次介绍几种三维曲面画图的函数,函数用法建议自行阅读帮助文件。
MESH(X,Y,Z)
Matlab中的曲面绘图都是将XY轴离散化后形状网格,Mesh就是对这个网格再加上Z轴的高度,得到一个彩色一个网状曲面图,如图所示。
通常情况下大家构建的网络比较密,会常用mesh来三维绘图,这样的曲面还是比较好看的,但是如果数据突变比较严重的话这种图会没那么好看,差点意思
SURF(X,Y,Z)
surf是在mesh的基础上给每个网眼的区域填上颜色,然后把线的颜色换成黑色,如图所示。
如果网格很密黑色曲线也会很密,影响观感,但是去掉黑色曲线,图片也会陷入不利用观察的情况。
Coutour
等高线图,去掉了高度的(类似俯视图)显示改为纯用颜色观察大小,适合进行一些定性的分析。
上面的图片太空不太适合替代SURF和mesh
CONTOURF
为了使得更容易观测,我们对Contourf增加一些配置
就可以得到一副更好看的三维图的显示,
画图代码
- [X,Y] = meshgrid(-2:.2:2, -4:.4:4);
- Z = X .* exp(-X.^2 – Y.^2);
- figure(1);
- contourf(X,Y,Z,100,’linestyle’,’none’)
奇怪的Matlab画图技巧系列