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

 

原文地址:https://www.cnblogs.com/chuqianyu/p/13450192.html