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