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) ; %算出的结果根据⼆维的类推
附件:⼆维⽹格例⼦的结果图。