您的位置:首页 > 其它

文章标题

2015-03-30 16:35 197 查看
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     21     2
1 2


B =

3     3
4     4
5     5


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

B =

3     4     53     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) ; %算出的结果根据二维的类推

附件:二维网格例子的结果图。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: