MATLAB三维绘图基础meshgrid函数的用法解析

  MATLAB中meshgrid函数是用来生成网格的,函数用法是:

  [X,Y] = meshgrid(x,y);这种是最常用的一种用法。x和y分别是两个向量。使用示例:

meshgrid在np中的用法 meshgrid函数_二维


结果:

meshgrid在np中的用法 meshgrid函数_二维_02


meshgrid在np中的用法 meshgrid函数_MATLAB_03


  A中的每个点对应的是x轴的坐标点,B中的每个点对应的是y轴的坐标点,讲的有点抽象,下面画图来说明一下。

绘制出来的坐标是:

meshgrid在np中的用法 meshgrid函数_hg_04


坐标所对应的点是:

meshgrid在np中的用法 meshgrid函数_meshgrid在np中的用法_05


  其实A表示将从第一行开始到最后一行的x轴的坐标值为A矩阵的行,所以按照上图所示A矩阵就是:

meshgrid在np中的用法 meshgrid函数_MATLAB_06


  B表示将从第一列开始到最后一列的y轴的坐标值为B矩阵的列,按照上图所示B矩阵就是:

meshgrid在np中的用法 meshgrid函数_二维_07


  所以可以知道meshgrid函数的本质是确定x,y坐标轴上每个位置的值。这个在绘制三维图的时候非常重要,因为三维图其实就是根据x,y平面的每个位置上对应着一个特定的z,然后将它绘制出来,就是所谓的三维图。

根据以上原理简单绘制一个三维图,示例:

%% 学习画三维图形
% meshgrid 函数是用来生成一个网格
clear; clc; close all;
[x,y] = meshgrid(1:0.5:10,1:20);  % 生成网格
z = sin(x) + cos(y);
surf(x,y,z);  % 画图函数

效果显示:

meshgrid在np中的用法 meshgrid函数_meshgrid在np中的用法_08


  由图示可以知道,如果x,y的坐标越精确,则绘制出来的三维图越细腻。

示例:

meshgrid在np中的用法 meshgrid函数_meshgrid在np中的用法_09


效果显示:

meshgrid在np中的用法 meshgrid函数_meshgrid在np中的用法_10