Crear una matriz a partir de otra
Publicado por Juan Carlos Villafuerte Zamacona (22 intervenciones) el 10/06/2019 06:52:08
Tengo la idea de crear una matriz usando las permutaciones (de 2 en 2) de las filas de una matriz ya existente.
La permutación puede irse iterando sobre una sola matriz o se pueden generar varias matrices, sobre esta o estas se va a aplicar una condición de dependencia o independencia lineal (que ya se tiene)
Digamos que se tiene esta matriz
A=[ 1 2 3;4 5 6;7 8 9]
Entonces la primer matriz sería
[1 2 3; 4 5 6]
la 2a permutación seria
[1 2 3; 7 8 9]
la 3a permutación
[4 5 6; 1 2 3]
4a:
[4 5 6; 7 8 9]
5a
[7 8 9; 1 2 3]
6a
[7 8 9: 4 5 6]
Las permutaciones pueden ser con/sin repetición y la matriz preexistente puede ser de MxN (aunque tampoco se esperan cientos de filas o columnas) es decir se necesita generalizar para evitar ajustar el código cada vez.
Ejemplo a mano y fijo para este matriz dada anteriormente:
Se ve medio cavernícola, pero esto ilustraria las permutaciones para el caso, como mencione no importa si son con o sin repeticion, y no entiendo como hacer un for para ir tomando los renglones 2 a la vez guardarlos en otra matriz y recorrer la fila para formar una nueva matriz.
Gracias desde ya.
La permutación puede irse iterando sobre una sola matriz o se pueden generar varias matrices, sobre esta o estas se va a aplicar una condición de dependencia o independencia lineal (que ya se tiene)
Digamos que se tiene esta matriz
A=[ 1 2 3;4 5 6;7 8 9]
Entonces la primer matriz sería
[1 2 3; 4 5 6]
la 2a permutación seria
[1 2 3; 7 8 9]
la 3a permutación
[4 5 6; 1 2 3]
4a:
[4 5 6; 7 8 9]
5a
[7 8 9; 1 2 3]
6a
[7 8 9: 4 5 6]
Las permutaciones pueden ser con/sin repetición y la matriz preexistente puede ser de MxN (aunque tampoco se esperan cientos de filas o columnas) es decir se necesita generalizar para evitar ajustar el código cada vez.
Ejemplo a mano y fijo para este matriz dada anteriormente:
1
2
3
4
5
6
7
8
9
10
11
A=[ 1 2 3;4 5 6;7 8 9] //matrix de 3x3
for k=1:size(A,1) //copia los valores a
eval(['V' '=A(k,:)'])//otra matriz llamada V
end //renglón por renglón
W0= [V1;V2] //nueva matrices con el 1o y 2o renglón
W1= [V1;V3] //nueva matrices con el 1o y 2o renglón
W2=[V2; V1] //2o y 1o
W3=[V2;V3] //2o y 3o
W4=[V3; V1] //3o y 1o
W5=[V3;V2] //3o y 2o
Se ve medio cavernícola, pero esto ilustraria las permutaciones para el caso, como mencione no importa si son con o sin repeticion, y no entiendo como hacer un for para ir tomando los renglones 2 a la vez guardarlos en otra matriz y recorrer la fila para formar una nueva matriz.
Gracias desde ya.

Valora esta pregunta


0