91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小:
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-04-17
  • 語(yǔ)言: Matlab
  • 標(biāo)簽: SIR??傳播模型??

資源簡(jiǎn)介

SIR病毒傳播模型的matlab程序;m文件,在matlab中可以直接使用。

資源截圖

代碼片段和文件信息

function?spreadingBySir()
????A=load(‘matlab.mat‘);
????%?node?number
????N=size(A1);???
????%感染概率
????irate=0.3;
????%恢復(fù)概率
????rrate=1;
????%初始時(shí)節(jié)點(diǎn)的狀態(tài)表初始時(shí)只有節(jié)點(diǎn)1為感染狀態(tài),其他的都為易感染狀態(tài)??
????start_node=1;
????%按照?qǐng)D的廣度優(yōu)先的原則來(lái)進(jìn)行病毒傳播
????BFSspreading(ANstart_nodeiraterrate);
end
%?
function?BFSspreading(ANstart_nodeiraterrate)
%隊(duì)列頭
head=1;????????????
%隊(duì)列尾,開始隊(duì)列為空,tail==head
tail=1;????????????
%向頭中加入感染源節(jié)點(diǎn)
queue(head)=start_node;??????
%隊(duì)列擴(kuò)展
head=head+1;??

%感染節(jié)點(diǎn)列表?
infection=start_node;??
%恢復(fù)節(jié)點(diǎn)列表??
recover=[];
%易感染節(jié)點(diǎn)列表
for?i=1:N
????%初始時(shí),start_node為感染狀態(tài)
????if?i==start_node
????????%-1表示該節(jié)點(diǎn)已經(jīng)從列表中刪除
????????susceptible(i)=-1;
????end
????%初始時(shí),除了start_node為感染狀態(tài)外,其他節(jié)點(diǎn)都處于易感染狀態(tài)
?????susceptible(i)=i;
end

%開始按照廣度優(yōu)先搜索順序向鄰居節(jié)點(diǎn)傳播
%判斷隊(duì)列是否為空
while?tail~=head???
????%取隊(duì)尾節(jié)點(diǎn)?
????i=queue(tail);??
????%如果該節(jié)點(diǎn)不在移除列表之中
????if?isempty(find(recover==i1))
????????????for?j=1:N
?????????????%如果節(jié)點(diǎn)j與當(dāng)前節(jié)點(diǎn)i相連并且節(jié)點(diǎn)j不在感染列表中
????????????if?A(ij)==1?&&?isempty(find(infection==j1))???
?????????????????infection_random=rand(1);
?????????????????if?infection_random?????????????????????%新節(jié)點(diǎn)入列
????????????????????queue(head)=j;??
????????????????????%擴(kuò)展隊(duì)列
????????????????????head=head+1;???
????????????????????%將新節(jié)點(diǎn)j加入感染列表
????????????????????infection=[infection?j];?
????????????????????
????????????????????%從易感染節(jié)點(diǎn)列表中刪除該節(jié)點(diǎn)設(shè)置為-1
????????????????????[~colv]?=?find(susceptible==j)?;
????????????????????susceptible(col)=-1;
????????????????????susceptible(susceptible==-1)=[];????????????????????
?????????????????end
????????????end
????????end
????????%將感染的節(jié)點(diǎn)按概率加入恢復(fù)節(jié)點(diǎn)列表??
????????recover_random=rand(1);
????????if?recover_random?????????????%恢復(fù)
????????????recover=[recover?i];??
????????????%從感染列表中刪除
????????????[~colv]?=?find(infection==i)?;
????????????infection(col)=-1;
????????????infection(infection==-1)=[];
????????end
????????tail=tail+1;?
????????
????end?%end?if??isempty(find(recover==i1)
end?%end?while

%分別現(xiàn)實(shí)最后節(jié)點(diǎn)的狀態(tài)
infection;
susceptible;
recover;
plot(infection)
plot(susceptible)
plot(recover)
end


?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????2410??2020-11-27?06:01??spreadingBySir.m

評(píng)論

共有 條評(píng)論