• 大小: 704B
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: Floyed  

资源简介

利用Floyed算法计算网络中节点的最短距离,再计算网络效率。

资源截图

代码片段和文件信息

%% ---------------------------计算网络效率-----------------------
clear;close all;clc;
%% 计算距离矩阵
XY=xlsread(‘邻接矩阵.xlsx‘‘坐标‘‘A1:B130‘); % 坐标
sj=xlsread(‘邻接矩阵.xlsx‘‘邻接矩阵‘); % 邻接矩阵
n=length(sj); % 节点个数
D=zeros(n); % 建立初始化距离矩阵
d=zeros(n);
for i=1:n
    for j=i+1:n  % 这里一定要是i+1,否则会得到错误结果
        d(ij) = sqrt(sum((XY(i:) - XY(j:)).^2)); % 计算任意两点之间的距离
        if sj(ij)~=0
            D(ij)=d(ij); % 提取相连节点之间的距离
        elseif sj(ij)==0
            D(ij)=inf; % 除对角线外,其它0元素都替换为inf
        end
    end
end
D=D+D‘; % D为距离矩阵
%% 利用Floyed算法计算网络节点之间的最短距离
path=zeros(n);
for k=1:n
    for i=1:n
        for j=1:n
            if D(ij)>D(ik)+D(kj)
                D(ij)=D(ik)+D(kj);
                path(ij)=k;
            end
        end
    end
end
% 对角线元素变为inf
for i=1:n
            D(ii)=inf;
end
D; % D为i和j之间的最短距离矩阵

%% 计算网络效率
for i=1:n
    for j=1:n
        if i~=j
            e=sum(sum(1./D))/(n*(n-1));
        end
    end
end









 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1086  2019-01-21 12:36  Distence.m

评论

共有 条评论

相关资源