Gibt es eine Möglichkeit, einen Vektor zu erweitern, indem er sich wiederholt?
>v = [1 2];
>v10 = v x 5; %x represents some function. Something like "1 2" x 5 in perl
Dann wäre v10:
>v10
1 2 1 2 1 2 1 2 1 2
Dies sollte für den allgemeinen Fall funktionieren, nicht nur für [1 2]
v=[1 2]
undv100=kron(ones(1,100),v)
ist der Vektorv100=[v v ... v]
(100 mal). Wenn Sie einen Spaltenvektory
mit sich selbstK
mal verketten möchten , verwenden SieyK=kron(ones(K,1),y)
.Antworten:
Die Funktion, die Sie suchen, ist
repmat()
.quelle
Offensichtlich ist repmat der richtige Weg, wenn Sie wissen, in welche Richtung Sie den Vektor erweitern möchten.
Wenn Sie jedoch eine allgemeine Lösung wünschen, die den Vektor immer in der längsten Richtung wiederholt, sollte diese Kombination aus Repmat und Indizierung den Trick tun:
quelle