2
说我有尺寸的3 d矩阵a
[X,Y,Z],如何重复3 d矩阵的各个维度在MATLAB
a(:,:,1) = [1 2; 3 4];
a(:,:,2) = [5 6; 7 8];
有没有办法重复的每个条目的a
,说N次,并构造一个新的矩阵,b
,尺寸为[X,Y,N * Z]?例如,如果N = 2,为具有矩阵b
像这样,
%repeat first element of 'a' 2ce
b(:,:,1) = [1 2; 3 4];
b(:,:,2) = [1 2; 3 4];
%repeat second element of 'a' 2ce
b(:,:,3) = [5 6; 7 8];
b(:,:,4) = [5 6; 7 8];
使用嵌套循环可以实现这当然,对于例如
%not tested, but should work
b = zeros(X,Y,N*Z);
k=1;
for j=1:Z
for i=1:N
b(:,:,k) = a(:,:,j);
k=k+1;
end
end
但我想知道是否有内置功能可用于此目的。
完善。谢谢。 – iab