【MATLAB】meshgrid函数的使用(创建网格坐标)

1.语法:
 [X,Y] = meshgrid(x,y)
 [X,Y] = meshgrid(x)
 [X,Y,Z] = meshgrid(x,y,z)
 [X,Y,Z] = meshgrid(x)
 
2.说明:
 1.[X,Y] = meshgrid(x,y) 基于向量 x 和 y 中包含的坐标返回二维网格坐标。
   X 是一个矩阵,每一行是 x 的一个副本;
   Y 也是一个矩阵,每一列是 y 的一个副本。
   坐标 X 和 Y 表示的网格有 length(y) 个行和 length(x) 个列。   
 2.[X,Y] = meshgrid(x) 与 [X,Y] = meshgrid(x,x) 相同,
   并返回网格大小为 length(x)×length(x) 的方形网格坐标。  
 3.[X,Y,Z] = meshgrid(x,y,z) 返回由向量 x、y 和 z 定义的三维网格坐标。
   X、Y 和 Z 表示的网格的大小为 length(y)×length(x)×length(z)。 
 4.[X,Y,Z] = meshgrid(x) 与 [X,Y,Z] = meshgrid(x,x,x) 相同,
   并返回网格大小为 length(x)×length(x)×length(x) 的三维网格坐标。

3.示例:

x = 1:3;
y = 1:5;
[X,Y] = meshgrid(x,y)%产生length(x)个列,length(y)个行
X =
     1     2     3 %一行代表x的一个副本
     1     2     3
     1     2     3
     1     2     3
     1     2     3
Y =
     1     1     1%一列代表y的一个副本
     2     2     2
     3     3     3
     4     4     4
     5     5     5

在二维网格上计算x^2+y^2

x = 1:3;
y = 1:5;
[X,Y] = meshgrid(x,y)
X.^2+Y.^2

X =
     1     2     3
     1     2     3
     1     2     3
     1     2     3
     1     2     3
Y =
     1     1     1
     2     2     2
     3     3     3
     4     4     4
     5     5     5
ans =
     2     5    10
     5     8    13
    10    13    18
    17    20    25
    26    29    34

在这里插入图片描述
在二维网格上画图:

x = -2:0.5:2;
y = -1:0.5:1;
[X,Y] = meshgrid(x,y) %产生length(x)个列,length(y)个行,5x9
F = X.*exp(-X.^2-Y.^2)
surf(X,Y,F)

%每一行代表x的一个副本
X =
   -2.0000   -1.5000   -1.0000   -0.5000         0    0.5000    1.0000    1.5000    2.0000
   -2.0000   -1.5000   -1.0000   -0.5000         0    0.5000    1.0000    1.5000    2.0000
   -2.0000   -1.5000   -1.0000   -0.5000         0    0.5000    1.0000    1.5000    2.0000
   -2.0000   -1.5000   -1.0000   -0.5000         0    0.5000    1.0000    1.5000    2.0000
   -2.0000   -1.5000   -1.0000   -0.5000         0    0.5000    1.0000    1.5000    2.0000
  %每一列代表y的一个副本
Y =
   -1.0000   -1.0000   -1.0000   -1.0000   -1.0000   -1.0000   -1.0000   -1.0000   -1.0000
   -0.5000   -0.5000   -0.5000   -0.5000   -0.5000   -0.5000   -0.5000   -0.5000   -0.5000
         0         0         0         0         0         0         0         0         0
    0.5000    0.5000    0.5000    0.5000    0.5000    0.5000    0.5000    0.5000    0.5000
    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000    1.0000
F =
   -0.0135   -0.0582   -0.1353   -0.1433         0    0.1433    0.1353    0.0582    0.0135
   -0.0285   -0.1231   -0.2865   -0.3033         0    0.3033    0.2865    0.1231    0.0285
   -0.0366   -0.1581   -0.3679   -0.3894         0    0.3894    0.3679    0.1581    0.0366
   -0.0285   -0.1231   -0.2865   -0.3033         0    0.3033    0.2865    0.1231    0.0285
   -0.0135   -0.0582   -0.1353   -0.1433         0    0.1433    0.1353    0.0582    0.0135

在这里插入图片描述
三维网格:

x = 0:2:6;
y = 0:1:6;
z = 0:3:6;
[X,Y,Z] = meshgrid(x,y,z)
F = X.^2 + Y.^2 + Z.^2;

X(:,:,1) =
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
X(:,:,2) =
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
X(:,:,3) =
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
Y(:,:,1) =
     0     0     0     0
     1     1     1     1
     2     2     2     2
     3     3     3     3
     4     4     4     4
     5     5     5     5
     6     6     6     6
Y(:,:,2) =
     0     0     0     0
     1     1     1     1
     2     2     2     2
     3     3     3     3
     4     4     4     4
     5     5     5     5
     6     6     6     6
Y(:,:,3) =
     0     0     0     0
     1     1     1     1
     2     2     2     2
     3     3     3     3
     4     4     4     4
     5     5     5     5
     6     6     6     6
Z(:,:,1) =
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
Z(:,:,2) =
     3     3     3     3
     3     3     3     3
     3     3     3     3
     3     3     3     3
     3     3     3     3
     3     3     3     3
     3     3     3     3
Z(:,:,3) =
     6     6     6     6
     6     6     6     6
     6     6     6     6
     6     6     6     6
     6     6     6     6
     6     6     6     6
     6     6     6     6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我一直在流浪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值