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