2016-07-29 10 views
1

Ich möchte mehrdimensionale Arrays erstellen, die einen Vektor entlang der anderen Dimensionen wiederholen. Z.B. für Zeilenvektoren a und b Ich kann A schaffen, die A(:,n,m,k)=a für alle n, m, k und ähnlich B die B(n,:,m,k) für alle n, m, k wie folgt hat:MATLAB: wiederhole Zeilenvektor in mehreren Dimensionen

A=repmat(a', [1 length(b) length(c) length(d)]); B=repmat(b, [length(a) 1 length(c) length(d)]);

Wie kann ich tun das Äquivalent für C und D? I.e. so dass C (n, m,:, k) = c, wobei c ein Zeilenvektor ist.

Antwort

1

es selbst gelöst, man die permute Funktion verwenden können, z.B .:

B=repmat(b, [length(x) 1 length(a) length(c)]); B=permute(B,[1 3 2 4]);