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)列。

因此命令等效于:

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

 

如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
>> 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) ; %算出的结果根据二维的类推

 

附件:二维网格例子的结果图。

 本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/3633086.html,如需转载请自行联系原作者


表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页