matlab中meshgrid函數的用法


meshgrid用於從數組a和b產生網格。生成的網格矩陣A和B大小是相同的。它也可以是更高維的。這里的大小指的是,size()函數的大小,size()函數返回的是一個向量, 那么size(A) = size(B).

[A,B]=Meshgrid(a,b)
生成size(b)Xsize(a)大小的矩陣A和B。它相當於a從一行重復增加到size(b)行,把b轉置成一列再重復增加到size(a)列。

因此命令等效於:

A=ones(size(b))*a;
B=b'*ones(size(a))

 

如下所示:

>> a=[1:2]

a =

     1     2

>> b=[3:5]

b =

     3     4     5

>> [A,B]=meshgrid(a,b)

A =

     1     2
     1     2
     1     2


B =

     3     3
     4     4
     5     5

 

>> [B,A]=meshgrid(b,a)

B =

     3     4     5
     3     4     5


A =

     1     1     1
     2     2     2

  

舉個實例:For example, to evaluate the function: x*exp(-x^2-y^2)

                   over the range -2 < x < 2, -2 < y < 2,

                   [X,Y] = meshgrid(-2:.2:2, -2:.2:2);

                   Z = X .* exp(-X.^2 - Y.^2);

                   mesh(X,Y,Z)

對於三維網格,生成方式與二維一樣 :[x y z]=meshgrid(a b c) ; %算出的結果根據二維的類推

 

附件:二維網格例子的結果圖。

 


免責聲明!

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



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