Como expandir y contraer una matriz en Matlab
Publicado por Jesús (3 intervenciones) el 03/01/2018 01:13:54
Hola, tengo una duda a la hora de hacer la contracción y la expansión de la matriz en Matlab del Juego de la Vida. Primero tengo una matriz inicial que es:
A=[0,0,1,1,0;0,1,1,0,0;0,0,1,0,0;1,0,0,0,0].
Para expandir la matriz he añadido dos filas y dos columnas de ceros a la matriz de esta forma:
A=[0,0,0,0,0,0,0;
0,0,0,1,1,0,0;
0,0,1,1,0,0,0;
0,0,0,1,0,0,0;
0,1,0,0,0,0,0;
0,0,0,0,0,0,0]
Teniendo en cuenta que en la contracción tengo que agrupar dividir la matriz A en las siguientes matrices:
1.[0,0,0,0,0,0,0;
0,0,0,1,1,0,0];
2.[0,0;
0,0;
0,0;
0,0;
0,1;
0,0];
3.[0,1,0,0,0,0,0;
0,0,0,,0,0,0,0];
4.[0,0;
0,0;
0,0;
0,0;
0,0;
0,0];
Y me piden que haga la expansión utilizando lenght(find([1,2],:)==1)), que sirve para contar las celulas vivas, [m,n]=size(A) que nos muestra el orden de la matriz y A=[zeros(1,n);A].¿Se puede hacer de otra forma la expansión y como se haría?
Después me pide que haga la contracción,es decir quitar las dos filas y columnas de ceros. Utilizando el lenght(find(A([m-2:m],:)==1)),que sirve para contar las celulas vivas del cordon. También utilizando [m,n]=size(A) y A=A(1:m-1,:);
Muchas Gracias
A=[0,0,1,1,0;0,1,1,0,0;0,0,1,0,0;1,0,0,0,0].
Para expandir la matriz he añadido dos filas y dos columnas de ceros a la matriz de esta forma:
A=[0,0,0,0,0,0,0;
0,0,0,1,1,0,0;
0,0,1,1,0,0,0;
0,0,0,1,0,0,0;
0,1,0,0,0,0,0;
0,0,0,0,0,0,0]
Teniendo en cuenta que en la contracción tengo que agrupar dividir la matriz A en las siguientes matrices:
1.[0,0,0,0,0,0,0;
0,0,0,1,1,0,0];
2.[0,0;
0,0;
0,0;
0,0;
0,1;
0,0];
3.[0,1,0,0,0,0,0;
0,0,0,,0,0,0,0];
4.[0,0;
0,0;
0,0;
0,0;
0,0;
0,0];
Y me piden que haga la expansión utilizando lenght(find([1,2],:)==1)), que sirve para contar las celulas vivas, [m,n]=size(A) que nos muestra el orden de la matriz y A=[zeros(1,n);A].¿Se puede hacer de otra forma la expansión y como se haría?
Después me pide que haga la contracción,es decir quitar las dos filas y columnas de ceros. Utilizando el lenght(find(A([m-2:m],:)==1)),que sirve para contar las celulas vivas del cordon. También utilizando [m,n]=size(A) y A=A(1:m-1,:);
Muchas Gracias
Valora esta pregunta
0