Ich war auf der Suche nach einer Möglichkeit zum circshift mit Indexwerten.circshift mit Indexwerten
Ich weiß, ich kann alle Werte verschieben die circshift Befehl unter
a=[1:9]
b=circshift(a,[0,1])
siehe Verwendung Aber wie verschiebe ich jeden 3. Wert über 1? Beispiel: Hinweis: Variable a
können beliebig lang sein
a=[1,2,30,4,5,60,7,8,90] %note variable `a` could be any length
Ich versuche b
zu bekommen
b=[1,30,2,4,60,5,7,90,8] % so the values in the index 3,6 and 9 are shifted over 1.
Ich bemerke, wenn ich einen anderen Wert zu 'a' hinzugefügt habe, scheint es nicht zu funktionieren, gibt es eine Arbeit um? Ich habe die Frage aktualisiert, um eine Notiz hinzuzufügen, dass die Variable "a" beliebig lang sein kann. –
@RickT Wirklich? Die erste Lösung funktioniert nicht? Es sollte für jede Größe von a funktionieren. Die zweite Lösung * ist * abhängig von der Größe. Ich habe eine Erklärung hinzugefügt, um dies zu verdeutlichen. – Suever
Ich bekomme eine Fehlermeldung mit der ersten. Fehler: Ungültige Größenänderung Operation oder mehrdeutige Zuordnung zu einem Out-of-Bound-Array-Element Das ist, was ich ausprobiert –