设有向图D = (V,E),顶点集V = {v1,v2,····,vn}。
定义矩阵
为(当vi到vj不可达时,p为0;当vi到vj可达时p为1.)
称矩阵P是图D的可达矩阵
一般地,设n阶有向图D的邻接矩阵为A,有A可得到图D的可达矩阵,不妨设为P,其步骤如下:
1、求出
2、把矩阵中不为0的元素给为1,而为0的元素不变
这样所改换的矩阵就位图D的可达矩阵P。
(A表示图的邻接矩阵,P表示图的可达矩阵。)
计算可达矩阵,在MATLAB中实现
p=dgraf(A)
function P=dgraf(A)
n=size(A,1);
P=A;
for i=2:n
P=P+A^i
end
P(P~=0)=1
P