Vector a matriz en octava
Frecuentes
Visto 9,952 veces
1 Respuestas
14
No sé Octave, pero creo que estás buscando reshape
.
— Función incorporada: remodelar (A, m, n,...)
— Función incorporada: remodelar (A, [m...])
— Función incorporada: remodelar (UN, ..., []...)
— Función incorporada: remodelar (Un tamaño)Devuelve una matriz con las dimensiones especificadas (m, n, ...) cuyos elementos se toman de la matriz A. Se accede a los elementos de la matriz en orden de columna principal (como se almacenan las matrices de Fortran).
El siguiente código muestra la remodelación de un vector de fila de 1x4 en una matriz cuadrada de 2x2.
reshape ([1, 2, 3, 4], 2, 2) ⇒ 1 3 2 4
Tenga en cuenta que el número total de elementos en la matriz original (
prod (size (A))
) debe coincidir con el número total de elementos en la nueva matriz (prod ([
m...])
).Una sola dimensión de la matriz de retorno puede dejarse sin especificar y Octave determinará su tamaño automáticamente. Se utiliza una matriz vacía ([]) para marcar la dimensión no especificada.
Respondido 04 Abr '18, 14:04
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas octave or haz tu propia pregunta.
The elements of the matrix are accessed in column-major order (like Fortran arrays are stored).
¿Qué pasa si necesito que los valores se coloquen en orden de fila principal? - Andre@Andre: colóquelos primero en orden de columna principal, luego transponga la matriz (usando el operador de postfijo
.'
). No puede realizar esta operación sin copiar los datos. - crisluengo@andre Esto funciona en Matlab, también debería funcionar en Octave. - guiño