matlab grid 函数报错,matlab mashgrid 函数

本文详细介绍了MATLAB中meshgrid和ndgrid函数的使用,包括它们在生成二维和三维网格矩阵时的不同语法和应用场景。通过实例展示了如何利用这两个函数创建网格,并对比了它们之间的区别。meshgrid适合2-D和3-D笛卡尔空间,而ndgrid更适合处理多维问题。同时,还探讨了它们在绘制表面图和网格图时的应用。
摘要由CSDN通过智能技术生成

meshgrid 有三种语法,用来生成三维网格矩阵或二维网格矩阵

[X,Y] = meshgrid(x,y) , x和y 都是一维数组,如x=[1:3]; y= [4:5]; 则生成的 X 和 Y 都是为 3X3 维的矩阵,

>> [X,Y] = meshgrid(1:3,4:5)

X=

1 2 3

1 2 3Y=

4 4 4

5 5 5

[X,Y] = meshgrid(x)

>> [X,Y] = meshgrid(1:3)

X=

1 2 3

1 2 3

1 2 3Y=

1 1 1

2 2 2

3 3 3

[X,Y,Z] = meshgrid(x,y,z)

>> [X,Y,Z] = meshgrid(1:3,4:5,6:8)

X(:,:,1) =

1 2 3

1 2 3X(:,:,2) =

1 2 3

1 2 3X(:,:,3) =

1 2 3

1 2 3Y(:,:,1) =

4 4 4

5 5 5Y(:,:,2) =

4 4 4

5 5 5Y(:,:,3) =

4 4 4

5 5 5Z(:,:,1) =

6 6 6

6 6 6Z(:,:,2) =

7 7 7

7 7 7Z(:,:,3) =

8 8 8

8 8 8

下边用一个例子来展示如何二维网格的结果图

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

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

surf(X,Y,Z)

ed6d99726532740ae89dee3c503950668fc.jpg

meshgrid 和ndgrid的区别

[X,Y] = ndgrid(x,y)

>> [X,Y] = ndgrid(1:3,4:5)

X=

1 1

2 2

3 3Y=

4 5

4 5

4 5

>> [Y,X] = ndgrid(4:5,1:3)

Y=

4 4 4

5 5 5X=

1 2 3

1 2 3

从中我们可以看看出meshgrid 和 ndgrid 几乎是一样的,除了输入的X,Y的顺序要换一下 ,即 [Y,X] = ndgrid(y,x)和  [X,Y] = meshgrid(x,y)的结果是一样的。meshgrid更适合2-D或是3-D的 Cartesian space, 而ndgrid更适合多维的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值