¿Cómo escribir un programa en matlab para calcular la matriz de accesibilidad con la ayuda de una matriz binaria?
La idea de programación es la siguiente:función M=alcance( A, I, n)
Suponga que la matriz de adyacencia es A e I es la matriz de longitud del enlace. Después de n pasos, obtenemos la matriz alcanzable M,
Entonces tenemos:
B=(A I)^n=I A A^2 .A^n
Luego cambie los elementos distintos de cero de B a 1 y mantenga los elementos cero sin cambios. Esta es la matriz M alcanzable de n pasos de A;
El código es el siguiente:
Se deben dar A, I y n
[fila, vaca]=tamaño(A) donde deben estar la fila y la vaca igual
E=ones(fila, vaca) genera la matriz identidad E
B=zeros(fila, vaca) matriz inicial todo-0 B
B =B I;
Bucle A^n
para i=1:n
B=B A^i;
B=B A ^i;.p>end
Cambie los elementos distintos de cero en B a 1 y deje los elementos cero sin cambios, es decir, deje que B y E realicen la operación de intersección.
M=Bamp;E;
fin