Modificaci贸n del n煤mero de filas y columnas en una matriz de Octave

En la presente lección, vamos a abordar el proceso de modificación del número de filas y columnas de una matriz en Octave, manteniendo constante el número total de elementos.

Veamos un ejemplo práctico.

Generemos una matriz rectangular de 3x2, con tres filas y dos columnas.

>> M = [ 1 2 ; 3 4 ; 5 6 ]
M =
1 2
3 4
5 6

A continuación, procedemos a transformar la matriz de 3x2 en una matriz de 2x3, que consta de dos filas y tres columnas.

Para ello, introducimos reshape(M,2,3)

>> reshape(M,2,3)
ans =
1 5 4
3 2 6

Es posible también convertir la matriz inicial en un vector fila, utilizando reshape(M,1,6)

>> reshape(M,1,6)
ans =
1 3 5 2 4 6

O bien, en un vector columna con reshape(M,6,1)

>> reshape(M,6,1)
ans =
1
3
5
2
4
6

En todos los casos, el número de elementos se mantiene inalterado.

Es importante recordar que un vector es una matriz particular con una única fila de 1x6 o una única columna de 6x1.

De manera análoga, es posible transformar un vector en una matriz.

Por ejemplo, generemos un vector con ocho elementos

>> v = [ 1 2 3 4 5 6 7 8 ]
v =
1 2 3 4 5 6 7 8

Podemos transformar este vector en una matriz de 2x4, con dos filas y cuatro columnas, utilizando reshape(v,2,4)

>> reshape(v, 2, 4)
ans =
1 3 5 7
2 4 6 8

Alternativamente, el vector puede ser convertido en una matriz de 4x2 utilizando reshape(v, 4, 2)

>> reshape(v, 4, 2)
ans =
1 5
2 6
3 7
4 8

De este modo, es posible convertir un vector en una matriz y viceversa, siempre y cuando el número de elementos se conserve.

Si el número de elementos varía, el comando reshape() no será efectivo.

Por ejemplo, no es posible transformar una matriz de 4x2 en una matriz de 3x3, dado que la primera matriz consta de ocho elementos y la segunda de nueve.

En este caso, el comando reshape() no será efectivo.

>> reshape(M,3,3)
error: reshape: can't reshape 3x2 array to 3x3 array

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Arreglos en Octave

Matrices en Octave

Preguntas frecuentes

Struct y array de celdas