Matlab - reshape

 
Vista:

reshape

Publicado por jj (92 intervenciones) el 02/04/2019 20:49:45
Buen dia,

caso1 Caso2 Caso3 Caso1 Caso2 Caso3 Caso1 Caso2 Cas03
fila1 5,00 2,00 4,00 2,00 4,00 8,00 1,50 3,00 6,00
fila2 1,20 3,00 6,00 1,00 2,00 4,00 2,00 4,00 8,00
fila3 1,50 3,00 6,00 1,00 2,00 4,00 2,00 4,00 9,00



tengo una tabla como la anterior y lo que necesito es convertir esta matriz en un vector, pero que me quede asi

5,00
2,00
4,00
1,20
3,00
6,00
1,50
3,00
6,00
2,00
4,00
8,00
1,00
2,00
4,00
1,00
2,00
4,00
1,50
3,00
6,00
2,00
4,00
8,00
2,00
4,00
9,00

tengo este código que lo hace bien: [reshape(matriz(:,1:3)',[],1);reshape(matriz(:,4:6)',[],1);reshape(matriz(:,7:9)',[],1)]

pero me queda fijo, me gustaria saber como lo puedo hacer para cuando se cree otra columna el lo haga de la forma anterior.

muchas gracias
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

reshape

Publicado por jj (92 intervenciones) el 02/04/2019 22:34:01
Hola Daniel, gracias por responder.. pero de la forma en que me dices no me sale el vector como lo necesito.
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
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

reshape

Publicado por Daniel (354 intervenciones) el 02/04/2019 22:39:52
Hola,

Si, perdona, con las prisas me faltaba restar el 1.

1
2
3
4
5
6
7
8
9
10
11
12
data = [5.00, 2.00,	4.00,	2.00,	4.00, 8.00, 1.50,	3.00,	6.00;
    1.20, 3.00, 6.00, 1.00, 2.00,	4.00,	2.00,	4.00,	8.00;...
    1.50, 3.00,	6.00,	1.00, 2.00, 4.00, 2.00, 4.00, 9.00];
 
result = [];
 
for i = 1:3
	result = [result; reshape(data(:,3*(i-1) + (1:3))',[],1)];
end

result

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
result =
 
    5.0000
    2.0000
    4.0000
    1.2000
    3.0000
    6.0000
    1.5000
    3.0000
    6.0000
    2.0000
    4.0000
    8.0000
    1.0000
    2.0000
    4.0000
    1.0000
    2.0000
    4.0000
    1.5000
    3.0000
    6.0000
    2.0000
    4.0000
    8.0000
    2.0000
    4.0000
    9.0000

Saludos,
Daniel Rodríguez.
Analytics Lane
Matlab en Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

reshape

Publicado por jj (92 intervenciones) el 02/04/2019 22:44:11
Perfecto!!!! mil gracias
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