matlab画3维meshgrid/plot3/mesh/surf的用法
MATLAB三维绘图基础meshgrid函数的用法解析:见参考网址1
介绍3类(plot3/mesh/surf)7种三维图像绘制的方法。见参考网址2
plot3 三维曲线图;
mesh 三维网格图;
meshc 除了生成网格图外,还在xy平面生成曲面的等高线;
meshz 除了生成网格图外,还在曲线下面加上个矩形垂帘;
surf 三维着色曲面图;
surfc 同时画出三维着色曲面图与等高线;
surfl 带光照的三维着色曲面图。
MATLAB中meshgrid函数是用来生成网格的,函数用法是:
[X,Y] = meshgrid(x,y);这种是最常用的一种用法。x和y分别是两个向量。使用示例:
结果:
A中的每个点对应的是x轴的坐标点,B中的每个点对应的是y轴的坐标点,讲的有点抽象,下面画图来说明一下。
绘制出来的坐标是:
坐标所对应的点是:
其实A表示将从第一行开始到最后一行的x轴的坐标值为A矩阵的行,所以按照上图所示A矩阵就是:
B表示将从第一列开始到最后一列的y轴的坐标值为B矩阵的列,按照上图所示B矩阵就是:
所以可以知道meshgrid函数的本质是确定x,y坐标轴上每个位置的值。这个在绘制三维图的时候非常重要,因为三维图其实就是根据x,y平面的每个位置上对应着一个特定的z,然后将它绘制出来,就是所谓的三维图。
根据以上原理简单绘制一个三维图,示例:
1 %% 学习画三维图形 2 % meshgrid 函数是用来生成一个网格 3 clear; clc; close all; 4 [x,y] = meshgrid(1:0.5:10,1:20); % 生成网格 5 z = sin(x) + cos(y); 6 surf(x,y,z); % 画图函数
效果显示:
参考网址:1.(MATLAB三维绘图基础meshgrid函数的用法解析)https://blog.csdn.net/CHQC388/article/details/104735236/
2.(MATLAB学习与使用:三维图形绘制plot3/mesh/surf)https://jingyan.baidu.com/article/46650658c65361f549e5f89d.html
3.(Matlab绘图-详细,全面(二维&三维等))https://blog.csdn.net/xuxinrk/article/details/82883078