【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )(一)

简介: 【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )(一)

文章目录

一、二维网格

1、线图 与 平面图

2、meshgrid 函数生成二维网格

二、绘制网格

1、mesh 函数绘制网格

2、代码示例

三、绘制平面

1、surf 函数绘制平面

2、代码示例

四、绘制等高线

1、contour 函数绘制等高线

2、代码示例

3、绘制彩色等高线并标注高度值





一、二维网格




1、线图 与 平面图


之前使用 plot 和 plot3 绘制的都是线图 , 给定若干个点的向量 , 绘制这些点 , 然后将这些点使用直线连接起来 , 组成了线图 ;


绘制 3 33 维线图时 , 只需要给定 X , Y , Z X,Y, ZX,Y,Z 三个向量 ( 每个向量都含有 n nn 个元素 ) , 分别是 n nn 个点的 x , y , z x, y , zx,y,z 坐标值 ;


两点之间 , 使用线连接起来即可 ;



平面图形 Surface , 绘制的是一个平面 , 需要给定 X , Y , Z X, Y, ZX,Y,Z 三个值 , 其中 X , Y , Z X, Y, ZX,Y,Z 是矩阵 ;


如 X , Y , Z X, Y, ZX,Y,Z 都是 m × n m \times nm×n 的矩阵 , 那么 X , Y X, YX,Y 就可以决定一个 m × n m \times nm×n 个点组成的平面 , 此时 m × n m \times nm×n 个点的 z zz 轴的值是 Z ZZ 矩阵中对应的 m × n m \times nm×n 个值中的一个 ;


平面是按照矩阵网格状进行分布 ;




2、meshgrid 函数生成二维网格


meshgrid 参考文档 : https://ww2.mathworks.cn/help/matlab/ref/meshgrid.html



使用 meshgrid 函数 , 可以产生 X , Y X, YX,Y 矩阵的值 , 即产生的是 x − y x -yx−y 坐标轴的网格平面 ;



生成二维网格示例 :


% 生成 x 向量
x = -2 : 1 : 2
% 生成 y 向量
y = -2 : 1 : 2
% 生成 X Y 两个矩阵 
% 生成了 x-y 坐标轴上的网格
[X, Y] = meshgrid(x, y)


打印结果 :


>> Untitled
x =
    -2    -1     0     1     2
y =
    -2    -1     0     1     2
X =
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
Y =
    -2    -2    -2    -2    -2
    -1    -1    -1    -1    -1
     0     0     0     0     0
     1     1     1     1     1
     2     2     2     2     2
>>



X XX 向量


-2    -1     0     1     2


和 Y YY 向量


-2    -1     0     1     2


生成的二维网格 ,


X XX 矩阵 :


X =
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2
    -2    -1     0     1     2


Y YY 矩阵 :


Y =
    -2    -2    -2    -2    -2
    -1    -1    -1    -1    -1
     0     0     0     0     0
     1     1     1     1     1
     2     2     2     2     2





二、绘制网格




1、mesh 函数绘制网格


mesh 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/mesh.html


mesh 函数作用是绘制网格 ;




2、代码示例


使用 -2 : 0.1 : 2 向量生成 x , y x,yx,y 网格矩阵 X , Y X , YX,Y ;


每个 z zz 值的计算方式是 z = e − x 2 − y 2 x z = e^{-x^2 - y^2}xz=e

−x

2

−y

2

x ;



代码示例 :


% 生成 x 向量
x = -2 : 0.1 : 2;
% 生成 y 向量
y = -2 : 0.1 : 2;
% 生成 X Y 两个矩阵 
% 生成了 x-y 坐标轴上的网格
[X, Y] = meshgrid(x, y);
% 生成 Z 矩阵
Z = X .* exp (-X .^ 2 - Y .^ 2);
% 绘制网格
mesh(X, Y, Z);


绘制结果 :


image.png




目录
相关文章
|
1天前
|
算法
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
13 0
|
1天前
|
算法
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
14 0
|
1天前
|
编解码
MATLAB | SCI 绘图配色第 2 期 | 三维柱状图 | 画江湖之不良人
MATLAB | SCI 绘图配色第 2 期 | 三维柱状图 | 画江湖之不良人
22 0
|
1天前
|
编解码
MATLAB | SCI绘图配色第三期 | 二维柱状图 | 一人之下
MATLAB | SCI绘图配色第三期 | 二维柱状图 | 一人之下
11 0
|
1天前
|
编解码
MATLAB | SCI 绘图配色第三四期 | 二维堆叠柱状图 | 大理寺日志
MATLAB | SCI 绘图配色第三四期 | 二维堆叠柱状图 | 大理寺日志
14 0
|
1天前
|
编解码
MATLAB | SCI 绘图配色第五期 | 二维横轴柱状图 | 镇魂街
MATLAB | SCI 绘图配色第五期 | 二维横轴柱状图 | 镇魂街
13 0
|
1天前
|
编解码
MATLAB | SCI 绘图配色第六期 | 三维折线图
MATLAB | SCI 绘图配色第六期 | 三维折线图
18 0
|
1天前
|
编解码
MATLAB | SCI 绘图配色第七期 | 二维纵轴堆叠柱状图 | 雾山五行
MATLAB | SCI 绘图配色第七期 | 二维纵轴堆叠柱状图 | 雾山五行
29 0
|
1天前
|
编解码
MATLAB | 科研绘图第二十二期信号分解中用于展示效果的三维瀑布图
MATLAB | 科研绘图第二十二期信号分解中用于展示效果的三维瀑布图
13 0
|
28天前
|
机器学习/深度学习 存储
【Matlab智能算法】极限学习机-遗传算法(ELM-GA)函数极值寻优——非线性函数求极值
【Matlab智能算法】极限学习机-遗传算法(ELM-GA)函数极值寻优——非线性函数求极值

热门文章

最新文章

相关产品