Al manipular matrices, a menudo es conveniente cambiar su forma. Por ejemplo, para convertir una matriz de tamaño M x N en un vector de longitud NX M. En MATLAB existe una función reshape:Cómo remodelar matrices en Mathematica
RESHAPE (X, M, N) devuelve la matriz M-por-N cuyos elementos se toman en forma de columna desde X. Se produce un error si X no tiene elementos M * N.
En el caso de la conversión entre una matriz y vector puedo utilizar la función de Mathematica Flatten que se aprovecha de la representación lista anidada de Mathematica para matrices. Como un ejemplo rápido, supongamos que tengo una matriz X:
Con Aplanar [X] puedo conseguir el vector {1,2,3, ..., 16}. Pero lo que sería mucho más útil es algo parecido a la aplicación de Matlab cambio de forma (X, 2,8) lo que resultaría en la siguiente matriz:
Esto permitiría la creación de matrices arbitrarias, siempre y cuando las dimensiones son iguales a N * M. Por lo que puedo decir, no hay nada construido que me pregunte si alguien no ha codificado una función de remodelación propia.
Nota: Esta solución incorpora las últimas dos dimensiones, por lo que no funciona del todo. – Guillochon