Matlab - Manejo de matrices con bucles

 
Vista:
sin imagen de perfil
Val: 20
Ha aumentado su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Manejo de matrices con bucles

Publicado por José Manuel (8 intervenciones) el 21/12/2020 16:31:46
Buenas tardes de nuevo.

Os traigo una nueva duda sobre el manejo de matrices.

Aunque sé como hacerlo de forma concreta, no sé como resolver el problema mediante un bucle.

Necesito para una matriz mxn (de elevado orden, miles de columnas), extraer todas las matrices como matrices columna, de forma individual. Es decir si mi matriz es por ejemplo:

A = [3 1 2 9; 4 1 5 2; 1 3 7 4]

quisiera obtener mediante algún bucle (dado que mi problema real es una matriz de 6500x150 por lo que es muy tedioso extraer una por una cada columna de forma manual), las siguientes matrices columna:
X1= [3; 4; 1]
X2= [1; 1; 3]
X3= [2; 5; 7]
x4= [9; 2; 4]

Muchas gracias, supongo que será fácil, pero para mi es un problema de difícil resolución.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jon
Val: 354
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Manejo de matrices con bucles

Publicado por Jon (161 intervenciones) el 07/01/2021 16:42:37
Hola José Manuel,

Yo lo haría de la siguiente forma.

1
2
3
4
5
6
A = [3 1 2 9; 4 1 5 2; 1 3 7 4];
[row, col] = size(A);
X1 = A(1:row, 1);
X2 = A(1:row, 2);
X3 = A(1:row, 3);
X4 = A(1:row, 4);

Si quieres realizar una matriz X con los vectores X1, X2, X3 y X4, puedes hacer lo siguiente.

1
2
3
4
5
6
A = [3 1 2 9; 4 1 5 2; 1 3 7 4];
[row, col] = size(A);
X = [];
for i = 1 : col
    X = [X, A(1:row, i)];
end

Espero que te sea de ayuda.

Un saludo,

Jon
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar