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