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) ; %算出的結果根據二維的類推
附件:二維網格例子的結果圖。

