Generar una matriz a partir de unas condiciones dadas.
publicado
Hola,
Estoy intentando crear una matriz que cumpla unas condiciones. Describo el problema a ver si jhay alguien en el foro que sepa como solucionar estre problema, que no es trivial.
Tenemos un vector de dimension (1xn) A=(a1,a2,a3,...,an), para este ejemplo n=6, cuyas componentes pueden tomar los valores (-1,0,1) , por ejemplo A=(0,0,-1,1,-1,-1). Lo que quiero generar es una matriz B de dimensiones (mxn), para este ejemplo, m=4, es decir, de dimension (4x6)
b11;b12;13,b14
b21,b22m..,b24
...
b61...........,b66
Lo que necesito es rellenar los valores de la matriz B, atendiendo a las siguientes reglas:
1) Si el valor ai=0, entonces bij=0 ; i= 1,2,3,4,5,6 y j= 1,2,3,4
2) Si el valor ai=-1, si j=1 entonces bij=1 y el resto de bij=0; , si j>1 y en algun j anterior ya hay un valor distinto a 0, entonces bij=0
3) Si el valor ai=1, si j=1 entonces bij=-1 y el resto de bij=0; , si j>1 y en algun j anterior ya hay un valor distinto a 0, entonces bij=0
De manera que en el ejemplo quedaria de este modo, que creo que se verá mas claro.
A B
0 0 0 0 0
0 0 0 0 0
-1 1 0 0 0
1 0 -1 0 0
-1 0 0 1 0
-1 0 0 0 1
Solo hay que tener en cuenta que los valores de A pueden cambiar en cualquier permutación, y que las dimensiones de n y m puden ser arbitrarias.
Agradecería si alguien puede resolver este problema.
Un saludo
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola,
Estoy intentando crear una matriz que cumpla unas condiciones. Describo el problema a ver si jhay alguien en el foro que sepa como solucionar estre problema, que no es trivial.
Tenemos un vector de dimension (1xn) A=(a1,a2,a3,...,an), para este ejemplo n=6, cuyas componentes pueden tomar los valores (-1,0,1) , por ejemplo A=(0,0,-1,1,-1,-1). Lo que quiero generar es una matriz B de dimensiones (mxn), para este ejemplo, m=4, es decir, de dimension (4x6)
b11;b12;13,b14
b21,b22m..,b24
...
b61...........,b66
Lo que necesito es rellenar los valores de la matriz B, atendiendo a las siguientes reglas:
1) Si el valor ai=0, entonces bij=0 ; i= 1,2,3,4,5,6 y j= 1,2,3,4
2) Si el valor ai=-1, si j=1 entonces bij=1 y el resto de bij=0; , si j>1 y en algun j anterior ya hay un valor distinto a 0, entonces bij=0
3) Si el valor ai=1, si j=1 entonces bij=-1 y el resto de bij=0; , si j>1 y en algun j anterior ya hay un valor distinto a 0, entonces bij=0
De manera que en el ejemplo quedaria de este modo, que creo que se verá mas claro.
A B
0 0 0 0 0
0 0 0 0 0
-1 1 0 0 0
1 0 -1 0 0
-1 0 0 1 0
-1 0 0 0 1
Solo hay que tener en cuenta que los valores de A pueden cambiar en cualquier permutación, y que las dimensiones de n y m puden ser arbitrarias.
Agradecería si alguien puede resolver este problema.
Un saludo