Bei der Bearbeitung von Matrizen ist es oft praktisch, ihre Form zu ändern. Zum Beispiel kann eine N x M Matrix Größe in einen Vektor der Länge NX M. In MATLAB einzuschalten a reshape Funktion existiert:Umformen von Matrizen in Mathematica
RESHAPE (X, M, N) liefert die M-mal-N-Matrix deren Elemente spaltenweise aus X genommen werden. Ein Fehler tritt auf, wenn X keine M * N Elemente hat.
Im Fall zwischen einer Matrix und Vektor-Umwandlung kann ich die Funktion Mathematica Flatten verwenden, die für Matrizen Vorteil Mathematicas verschachtelter Liste Darstellung erfolgt. Als kleines Beispiel, nehme ich an eine Matrix X:
Mit Flatten [X] ich den Vektor bekommen {1,2,3, ..., 16}. Aber was viel nützlicher wäre ist so etwas wie Matlab Anwendung reshape (X, 2,8), die in der folgenden Matrix führen würde:
Diese Schaffung beliebiger Matrizen erlauben würde, solange die Dimensionen sind gleich N * M. Soweit ich das beurteilen kann, gibt es nichts, was mich dazu bringt, mich zu fragen, ob jemand eine eigene Umformfunktion programmiert hat.
Hinweis: Diese Lösung transponiert die letzten zwei Dimensionen, so dass es nicht ganz funktioniert. – Guillochon