%% **************有向图的关联矩阵和邻接矩阵********************
% 输入参数: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
有向图的关联矩阵和邻接矩阵
最新推荐文章于 2023-09-08 06:15:00 发布