Dire que j'ai une matrice 3-D a
de dimension [X, Y, Z],Comment répéter chaque dimension d'une matrice 3-D dans Matlab
a(:,:,1) = [1 2; 3 4];
a(:,:,2) = [5 6; 7 8];
est-il un moyen de répéter chaque entrée de a
, disons N fois et construisons une nouvelle matrice, b
, de dimension [X, Y, N * Z]? Par exemple, si N = 2, d'avoir une matrice b
comme si,
%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];
En utilisant une boucle imbriquée peut réaliser cela bien sûr, par exemple,
%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
Mais je voudrais savoir s'il y a une fonction intégrée disponible à cet effet.
Parfait. Merci. – iab