%% **********无向图邻接矩阵与关联矩阵的转换********************
% 输入参数: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
无向图邻接矩阵与关联矩阵的转换
最新推荐文章于 2024-01-28 16:53:28 发布