【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )
文章目錄
- 一、二維網(wǎng)格
- 1、線圖 與 平面圖
- 2、meshgrid 函數(shù)生成二維網(wǎng)格
- 二、繪制網(wǎng)格
- 1、mesh 函數(shù)繪制網(wǎng)格
- 2、代碼示例
- 三、繪制平面
- 1、surf 函數(shù)繪制平面
- 2、代碼示例
- 四、繪制等高線
- 1、contour 函數(shù)繪制等高線
- 2、代碼示例
- 3、繪制彩色等高線并標(biāo)注高度值
一、二維網(wǎng)格
1、線圖 與 平面圖
之前使用 plot 和 plot3 繪制的都是線圖 , 給定若干個(gè)點(diǎn)的向量 , 繪制這些點(diǎn) , 然后將這些點(diǎn)使用直線連接起來(lái) , 組成了線圖 ;
繪制 333 維線圖時(shí) , 只需要給定 X,Y,ZX,Y, ZX,Y,Z 三個(gè)向量 ( 每個(gè)向量都含有 nnn 個(gè)元素 ) , 分別是 nnn 個(gè)點(diǎn)的 x,y,zx, y , zx,y,z 坐標(biāo)值 ;
兩點(diǎn)之間 , 使用線連接起來(lái)即可 ;
平面圖形 Surface , 繪制的是一個(gè)平面 , 需要給定 X,Y,ZX, Y, ZX,Y,Z 三個(gè)值 , 其中 X,Y,ZX, Y, ZX,Y,Z 是矩陣 ;
如 X,Y,ZX, Y, ZX,Y,Z 都是 m×nm \times nm×n 的矩陣 , 那么 X,YX, YX,Y 就可以決定一個(gè) m×nm \times nm×n 個(gè)點(diǎn)組成的平面 , 此時(shí) m×nm \times nm×n 個(gè)點(diǎn)的 zzz 軸的值是 ZZZ 矩陣中對(duì)應(yīng)的 m×nm \times nm×n 個(gè)值中的一個(gè) ;
平面是按照矩陣網(wǎng)格狀進(jìn)行分布 ;
2、meshgrid 函數(shù)生成二維網(wǎng)格
meshgrid 參考文檔 : https://ww2.mathworks.cn/help/matlab/ref/meshgrid.html
使用 meshgrid 函數(shù) , 可以產(chǎn)生 X,YX, YX,Y 矩陣的值 , 即產(chǎn)生的是 x?yx -yx?y 坐標(biāo)軸的網(wǎng)格平面 ;
生成二維網(wǎng)格示例 :
% 生成 x 向量 x = -2 : 1 : 2% 生成 y 向量 y = -2 : 1 : 2% 生成 X Y 兩個(gè)矩陣 % 生成了 x-y 坐標(biāo)軸上的網(wǎng)格 [X, Y] = meshgrid(x, y)打印結(jié)果 :
>> Untitledx =-2 -1 0 1 2y =-2 -1 0 1 2X =-2 -1 0 1 2-2 -1 0 1 2-2 -1 0 1 2-2 -1 0 1 2-2 -1 0 1 2Y =-2 -2 -2 -2 -2-1 -1 -1 -1 -10 0 0 0 01 1 1 1 12 2 2 2 2>>XXX 向量
-2 -1 0 1 2和 YYY 向量
-2 -1 0 1 2生成的二維網(wǎng)格 ,
XXX 矩陣 :
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 2YYY 矩陣 :
Y =-2 -2 -2 -2 -2-1 -1 -1 -1 -10 0 0 0 01 1 1 1 12 2 2 2 2二、繪制網(wǎng)格
1、mesh 函數(shù)繪制網(wǎng)格
mesh 函數(shù)參考文檔 : https://ww2.mathworks.cn/help/matlab/ref/mesh.html
mesh 函數(shù)作用是繪制網(wǎng)格 ;
2、代碼示例
使用 -2 : 0.1 : 2 向量生成 x,yx,yx,y 網(wǎng)格矩陣 X,YX , YX,Y ;
每個(gè) zzz 值的計(jì)算方式是 z=e?x2?y2xz = e^{-x^2 - y^2}xz=e?x2?y2x ;
代碼示例 :
% 生成 x 向量 x = -2 : 0.1 : 2;% 生成 y 向量 y = -2 : 0.1 : 2;% 生成 X Y 兩個(gè)矩陣 % 生成了 x-y 坐標(biāo)軸上的網(wǎng)格 [X, Y] = meshgrid(x, y);% 生成 Z 矩陣 Z = X .* exp (-X .^ 2 - Y .^ 2);% 繪制網(wǎng)格 mesh(X, Y, Z);繪制結(jié)果 :
三、繪制平面
1、surf 函數(shù)繪制平面
surf 函數(shù)參考文檔 : https://ww2.mathworks.cn/help/matlab/ref/surf.html
surf 函數(shù)作用是繪制平面 , 給網(wǎng)格填充顏色 ;
2、代碼示例
使用 -2 : 0.1 : 2 向量生成 x,yx,yx,y 網(wǎng)格矩陣 X,YX , YX,Y ;
每個(gè) zzz 值的計(jì)算方式是 z=e?x2?y2xz = e^{-x^2 - y^2}xz=e?x2?y2x ;
代碼示例 :
% 生成 x 向量 x = -2 : 0.1 : 2;% 生成 y 向量 y = -2 : 0.1 : 2;% 生成 X Y 兩個(gè)矩陣 % 生成了 x-y 坐標(biāo)軸上的網(wǎng)格 [X, Y] = meshgrid(x, y);% 生成 Z 矩陣 Z = X .* exp (-X .^ 2 - Y .^ 2);% 繪制平面 surf(X, Y, Z);繪制結(jié)果 :
四、繪制等高線
1、contour 函數(shù)繪制等高線
contour 函數(shù)參考文檔 : https://ww2.mathworks.cn/help/matlab/ref/contour.html
contour 函數(shù)作用是繪制平面的等高線 , 如果 zzz 軸的值相等 , 那么在 x,yx, yx,y 坐標(biāo)系中繪制等高線 ;
2、代碼示例
使用 -2 : 0.1 : 2 向量生成 x,yx,yx,y 網(wǎng)格矩陣 X,YX , YX,Y ;
每個(gè) zzz 值的計(jì)算方式是 z=e?x2?y2xz = e^{-x^2 - y^2}xz=e?x2?y2x ;
代碼示例 :
% 生成 x 向量 x = -2 : 0.1 : 2;% 生成 y 向量 y = -2 : 0.1 : 2;% 生成 X Y 兩個(gè)矩陣 % 生成了 x-y 坐標(biāo)軸上的網(wǎng)格 [X, Y] = meshgrid(x, y);% 生成 Z 矩陣 Z = X .* exp (-X .^ 2 - Y .^ 2);% 繪制等高線 contour(X, Y, Z);繪制結(jié)果 :
3、繪制彩色等高線并標(biāo)注高度值
代碼示例 :
% 生成 x 向量 x = -2 : 0.1 : 2;% 生成 y 向量 y = -2 : 0.1 : 2;% 生成 X Y 兩個(gè)矩陣 % 生成了 x-y 坐標(biāo)軸上的網(wǎng)格 [X, Y] = meshgrid(x, y);% 生成 Z 矩陣 Z = X .* exp (-X .^ 2 - Y .^ 2);% 繪制等高線 [C, h] = contourf(X, Y, Z);% 標(biāo)注高度值 clabel(C, h);執(zhí)行結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【MATLAB】进阶绘图 ( color
- 下一篇: 【MATLAB】三维图形绘制 ( 绘制网