%% **********无向图邻接矩阵与关联矩阵的转换******************** % 输入参数:F 邻接矩阵或关联矩阵 f转换参数,0表示邻接矩阵转换为关联矩阵 // % 1表示关联矩阵转换为邻接矩阵 // % 输出: W 转换所得矩阵 // %% function W = incandadf(F, f) %邻接矩阵转换为关联矩阵 if f == 0 m = sum(sum(F))/2; %计算图的边数,握手定理 n = size(F,1); %顶点数 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; W(j,k)=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); W(a(1),a(2))=1; W(a(2),a(1))=1; end else fprint('Please input the right value of f'); end