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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM