,即一个3d矩阵,其中每个图层上的所有值都相同,但每个图纸上的值随着图层的增加而递增。
增量可以由x =(0:0.5:2 * pi)定义,例如。
我尝试过使用repmat,但这似乎只会产生另一种方向的矩阵。
谢谢!
答案 0 :(得分:4)
还有一种可能性:使用ndgrid
,这里用来创建一个4乘5乘#X数组:
x = 0:0.5:2*pi;
[~,~,out] = ndgrid(1:4,1:5,x);
答案 1 :(得分:0)
您可以使用repmat
和permute
:
x = (0:0.5:2*pi);
y = repmat(x',[1,5,5]);
z = permute(y,[2,3,1]);
size(z)
ans =
5 5 13
z(:,:,1)
ans =
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)
ans =
0.50000 0.50000 0.50000 0.50000 0.50000
0.50000 0.50000 0.50000 0.50000 0.50000
0.50000 0.50000 0.50000 0.50000 0.50000
0.50000 0.50000 0.50000 0.50000 0.50000
0.50000 0.50000 0.50000 0.50000 0.50000
答案 2 :(得分:0)
定义x
x = (0:0.5:2*pi);
这将使值沿着行(第二维)变化。将x改变为您想要的尺寸(第三维):
x = permute(x, [1, 3, 2]);
然后重新编写:
x = repmat(x, [3, 3, 1]);