Matlab: Matrizen splitten |
20.07.2013, 22:26 | Math1986 | Auf diesen Beitrag antworten » | |||||||||||||||
Matlab: Matrizen splitten Problem ist: Ich habe eine Matrix, bspw (Größe 8x2)
Nun möchte ich diese in vier fortlaufende Matrizen der Größe 2x2 aufteilen, so dass die erste Matrix dann die Submatrix von Zeile 1 bis 2 wäre
Die zweite ware dann Zeile 3 bis 4:
Und so weiter. Das ganze soll dann in einem Array gespeichert werden. Irgendwelche Ideen? |
|||||||||||||||||
21.07.2013, 13:26 | Airblader | Auf diesen Beitrag antworten » | |||||||||||||||
Und das soll dynamisch in der Größe der Ausgangsmatrix sein? Ich weiß zwar nicht, ob es nicht noch einen supercoolen Matlab-Oneliner gibt, aber solange die Matrizen nicht rießig sind, macht die Performance hier nichts aus:
Ist ungetestet, da ich seit anderthalb Jahren keine Matlablizenz mehr habe. |
|||||||||||||||||
21.07.2013, 13:39 | Math1986 | Auf diesen Beitrag antworten » | |||||||||||||||
Danke. Ja, die Größe der Ausgangsmatrix ist dynamisch, und auch die Größe der Blöcke (hätte ich dazusagen sollen,ich weiß aber, dass es aufgeht). Eine ganz ähnliche Lösung wie du habe ich nun auch, habe aber noch keinen Einzeiler dazu gefunden. Wenn also jemand eine Idee für einen Einzeler hat dann her damit |
|||||||||||||||||
21.07.2013, 14:55 | Airblader | Auf diesen Beitrag antworten » | |||||||||||||||
Wenn klar ist, dass es aufgeht, geht es dynamisch in der Anzahl der Blöcke mit
Wenn man das einfach als Funktion extrahiert, wird es danach zum Einzeiler. Eine kurze Recherche zeigt aber, dass du dir mal mat2cell anschauen solltest, das könnte genau das sein, was du suchst (ich kanns wie gesagt nicht ausprobieren). Gefühlt sollte es so gehen:
Edit: Ich habe es mit einem Online-Compiler probiert, scheint zu funktionieren. |
|||||||||||||||||
22.07.2013, 16:41 | Math1986 | Auf diesen Beitrag antworten » | |||||||||||||||
Danke, werde ich mir mal anschauen, scheint aber genau das Richtige zu sein. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|