Matlab: wiederhole jede Spalte nacheinander n mal [duplizieren]

7

Ich bin so ziemlich Anfänger, also ist es wahrscheinlich möglich, auf eine einfache Art und Weise zu tun, was ich will. Ich habe eine Matrix 121x62, aber ich muss es auf 121x1488 erweitern, so dass jede Spalte 24 Mal wiederholt werden muss. Zum Beispiel transformiere das:

%Vor%

hinein:

%Vor%

mit jeder Spalte.

Ich habe versucht, einen Vektor mit diesen Werten zu erstellen und transformiere dann mit vec2mat und ok Ich habe 121x1488 Matrix, aber nach Zeilen wiederholt:

%Vor%

Wie geht das mit Spalten?

    
papkin 28.04.2013, 19:23
quelle

3 Antworten

22

Angenommen, Sie haben diese vereinfachte Eingabe und möchten die Spalten sequenziell erweitern n mal:

%Vor%

Es gibt einige Möglichkeiten, dies zu tun:

  • Replizieren und dann neu gestalten:

    %Vor%
  • Kronecker Produkt:

    %Vor%
  • FEX: expand() :

    %Vor%
  • Seit R2015a repelem() :

    %Vor%

Alle ergeben das gleiche Ergebnis:

%Vor%     
Oleg 28.04.2013 23:34
quelle
1

Nur der Vollständigkeit halber. Wenn Sie entlang der Zeilen duplizieren möchten, können Sie auch rectpulse () verwenden.

%Vor%

gibt dir

%Vor%     
Malte 21.08.2017 16:09
quelle
0

Hier gehen Sie:

%Vor%

Es muss einen einfacheren Weg geben, aber es macht den Job.

    
Grzegorz Piwowarek 28.04.2013 19:51
quelle

Tags und Links