%% **************有向图的关联矩阵和邻接矩阵******************** % 输入参数:F 邻接矩阵或关联矩阵 f转换参数,0表示邻接矩阵转换为关联矩阵 // % 1表示关联矩阵转换为邻接矩阵 // % 输出: W 转换所得矩阵 // %% function W = mattransf(F, f) if f == 0 %邻接矩阵转换为关联矩阵 m = sum(sum(F)); n = size(F); W = zeros(n,m); k = 1; for i =1:n for j = 1:n if F(i,j)~=0 && j>i W(i,k) = 1; %关联矩阵始点值为1 W(j,k) = -1; %关联矩阵终点值为-1 k= k+1; end end end elseif f == 1 %关联矩阵转换为邻接矩阵 m = size(F,2); n = size(F,1); W = zeros(n); for i = 1:m a = find(F(:,i)~=0); if F(a(1),i) == 1 W(a(1),a(2)) = 1; else W(a(2),a(1)) = 1; end end else fprint('Please input the right value of f'); end