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