即,一个三维矩阵,其中每层上的所有值都相同,但每张图纸上的值随着层的增加而增加。
例如,增量可以定义为x=(0:0.5:2*pi(。
我试过使用repmat,但这似乎只是在另一个方向上产生矩阵。
谢谢!
还有一种可能性:使用ndgrid
,此处用于创建4-by5-by-x数组:
x = 0:0.5:2*pi;
[~,~,out] = ndgrid(1:4,1:5,x);
您可以使用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
定义x
x = (0:0.5:2*pi);
这将使值随行而变化(第二个维度(。改变你的x,使其随你想要的维度而变化(第三维度(:
x = permute(x, [1, 3, 2]);
然后重新命名:
x = repmat(x, [3, 3, 1]);