Ich habe eine Matrix:repeat Werte in einer Zeile 'N' Anzahl der Male, und dann die Werte inkrementieren - Matlab (variierend N)
mat = [ 2009 3 ;
2010 2 ] ;
ich brauche die Sp1 gemäß Col2 zu wiederholen. Die Lösung unter Repeat copies of array elements: Run-length decoding in MATLAB ist hilfreich. Allerdings ist mein Hauptproblem, um dann die Jahre erhöht nach, wie in:
Ansmat = [ 2009 3
2010 3
2011 3
2010 2
2011 2 ] ;
Ich möchte hier eine for
Schleife zu vermeiden. Danke für Ihre Hilfe! Dies wäre eine große Hilfe!
Wow, das ist eine wahnsinnig clevere und schlaue Art, Kudos :) Eine kleine Korrektur; Das funktioniert also für eine Matrix mit mehr als zwei Zeilen, die Sie mat (1: end-1, 2) an den drei Stellen, an denen Sie es im [1 ...] Kontext verwenden, transponieren müssen. – GummiV
@GummiV: Guter Fang. Ich habe einige Semikola hinzugefügt, um die Dimensionsabweichungen zu korrigieren, die bei größeren Matrizen auftreten würden. – gnovice
@Gnovice danke. Ich hatte den von GummiV erwähnten Fehler bemerkt und ihn mit einem einfachen korrigiert; Danke..das ist wirklich schnell und schlau :) – Maddy