@[TOC](复杂网络级联失效的代码)

该代码实现了一个复杂网络的级联失效模拟。通过计算聚类系数、度分布和平均路径长度来初始化网络状态,然后应用负载重分配模型,根据预设参数模拟节点失效和负载转移,最终计算出平均失效规模。
摘要由CSDN通过智能技术生成

复杂网络级联失效的代码

function [CFN,NodesFailure,A_temp]=cascading_failure(A)
%%A为复杂网络的邻接矩阵
NumberOfNodes=100;
%%%%%%删除部分网络节点,进行网络级联失效%%%%%%%
[Custer,aver_Custer]=Clustering_Coefficient(A);%聚类系数;平均聚类系数
fprintf(‘Average Clustering Coefficient: %3.4f%%\n’,aver_Custer);
[DeD,aver_DeD]=Degree_Distribution(A);%度;平均度
fprintf(‘Average Node Degree: %2.4f\n’,aver_DeD);
[D,aver_D]=Aver_Path_Length(A);%路径长度;平均路径长度
fprintf(‘Average Path Length: %2.4f\n’,aver_D);
% 负载重分配模型
%节点初始负载F
%节点容量C
%网络节点i的 初始负载F_i 与 节点本身的度k_i 相关:F_i = rho * k_i^tau
%网络中的节点 容量C_i 与初始负载F_i 成正比:C_i=(1+alpha)F_i
%节点i失效后,失效节点的负载分配到完好节点j上,按一定比例
%负载更新
%剩余节点的更新后负载F_j; if F_j>C_j 节点j失效,否则end
%网络中所有节点的负载不超过其本身容量,连锁故障过程结束
%度量
%度量连锁故障结束后网络中失效节点个数CF_i
%CFN=sum(CF_i)/(N
(N-1))
rho=4;
tau=1.6; %负载参数(0.1,2)
beta=1.6; %和度有关的负载分配比例参数
theta=1; %和距离有关的负载分配比例参数
alpha=0.1; %容量参数
F = rho * DeD.^tau;%初始负载,1N
C = (1+alpha).F;%容量,1N,一行矩阵,默认为固定值
f = (D.^theta) .
( DeD.beta)./sum(sum((D.theta) .* (DeD.^beta)));%负载分配比例,方阵,DeD是节点度分布
% F_Temp = F_Temp + F_Remove * f; %更新后的临时负荷矩阵,1*(N-1)
% Fail=F_Temp > C_First; %判断剩余节点更新后的负荷是否大于节点容量,是=1,否=0,1*(N-1),即接下来要删除的节点位置

%%随机删除某一节点,删除节点所在行和列,生成新的邻边矩阵A_Temp
A_Temp=A;
% aver_D_Temp=aver_D;
% aver_DeD_Temp=aver_DeD;

NodesToRemove=[];
% DeD_average=aver_DeD;
% D_average=aver_D;

Fail_All=[]; %失效节点集合,1*50矩阵.
NodesToRemo

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值