matlab将孤立点连接起来,复杂网络模型的matlab实现
function [DeD,aver_DeD]=Degree_Distribution(A)
%% 求網(wǎng)絡(luò)圖中各節(jié)點(diǎn)的度及度的分布曲線
%% 求解算法:求解每個(gè)節(jié)點(diǎn)的度,再按發(fā)生頻率即為概率,求P(k)
%A————————網(wǎng)絡(luò)圖的鄰接矩陣
%DeD————————網(wǎng)絡(luò)圖各節(jié)點(diǎn)的度分布
%aver_DeD———————網(wǎng)絡(luò)圖的平均度
N=size(A,2);
DeD=zeros(1,N);
for i=1:N
% DeD(i)=length(find((A(i,:)==1)));
DeD(i)=sum(A(i,:));
end
aver_DeD=mean(DeD);
if sum(DeD)==0
disp('該網(wǎng)絡(luò)圖只是由一些孤立點(diǎn)組成');
return;
else
figure;
bar([1:N],DeD);
xlabel('節(jié)點(diǎn)編號(hào)n');
ylabel('各節(jié)點(diǎn)的度數(shù)K');
title('網(wǎng)絡(luò)圖中各節(jié)點(diǎn)的度的大小分布圖');
end
figure;
M=max(DeD);
for i=1:M+1; %網(wǎng)絡(luò)圖中節(jié)點(diǎn)的度數(shù)最大為M,但要同時(shí)考慮到度為0的節(jié)點(diǎn)的存在性
N_DeD(i)=length(find(DeD==i-1));
% DeD=[2 2 2 2 2 2]
end
P_DeD=zeros(1,M+1);
P_DeD(:)=N_DeD(:)./sum(N_DeD);
bar([0:M],P_DeD,'r');
xlabel('節(jié)點(diǎn)的度 K');
ylabel('節(jié)點(diǎn)度為K的概率 P(K)');
title('網(wǎng)絡(luò)圖中節(jié)點(diǎn)度的概率分布圖');
平均路徑長度
function [D,aver_D]=Aver_Path_Length(A)
%% 求復(fù)雜網(wǎng)絡(luò)中兩節(jié)點(diǎn)的距離以及平均路徑長度
%% 求解算法:首先利用Floyd算法求解出任意兩節(jié)點(diǎn)的距離,再求距離的平均值得平均路
總結(jié)
以上是生活随笔為你收集整理的matlab将孤立点连接起来,复杂网络模型的matlab实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencart mail.php,如何
- 下一篇: matlab 高维数组赋值,MATLAB