Matlab實現新冠病毒傳播模擬效果
1 各種疫苗梳理
截至2022年3月,中國已經向120多個國家和國際組織提供了超過21億劑疫苗,占中國以外全球疫苗使用總量的1/3。
1.1 滅活疫苗
2020年12月31日,國務院聯(lián)防聯(lián)控機制發(fā)布,國藥集團中國生物新冠滅活疫苗已獲得國家藥監(jiān)局批準附條件上市。
1.2 吸入式新冠疫苗
2021年11月12日—14日,全球首款可吸入式新冠疫苗亮相“2021第五屆海南國際健康產業(yè)博覽會”。全球首款吸入式新冠疫苗由軍事醫(yī)學研究院陳薇院士團隊與康希諾生物股份公司合作研發(fā),二期臨床試驗已取得階段性成果,正在推進緊急使用的申請工作。據了解,吸入式新冠疫苗與肌肉注射使用了同種疫苗,其制劑配方未改變,僅采用不同的給藥方式。霧化吸入免疫采用霧化器將疫苗霧化成微小顆粒,通過口部吸入的方式進入呼吸道和肺部,從而激發(fā)黏膜免疫,而這種免疫是通過肌肉注射所不能帶來的。
1.3 植物蛋白技術疫苗
2022年2月24日 ,加拿大衛(wèi)生部宣布,授權該國藥企Medicago研制的新冠疫苗Covifenz可用于18至64歲成年人。這是加拿大審批通過的第六款新冠疫苗,也是首款本土研發(fā)的新冠疫苗,Covifenz是首個使用植物蛋白技術的新冠疫苗。
1.4 AI技術開發(fā)長效新冠疫苗
2022年4月11日報道,日本NEC公司8日宣布已開始利用最尖端的人工智能(AI)技術開發(fā)新冠疫苗。
1.5 法國Valneva新冠疫苗
2022年4月14日,彭博報道,根據一份政府聲明,英國藥品和保健品管理局(MHRA)批準法國生物技術公司Valneva開發(fā)的新冠疫苗。Valneva疫苗成為第六種獲得MHRA授權的新冠疫苗。
2 matlab代碼

%======歡迎關注公眾號:電力系統(tǒng)與算法之美=======%
function spreadingBySir()
A=load('test.in');
% node number
N=size(A,1);
%感染概率
irate=0.3;
%恢復概率
rrate=1;
%初始時節(jié)點的狀態(tài)表,初始時只有節(jié)點1為感染狀態(tài),其他的都為易感染狀態(tài)
start_node=1;
%按照圖的廣度優(yōu)先的原則來進行病毒傳播
BFSspreading(A,N,start_node,irate,rrate);
end
function BFSspreading(A,N,start_node,irate,rrate)
%隊列頭
head=1;
%隊列尾,開始隊列為空,tail==head
tail=1;
%向頭中加入感染源節(jié)點
queue(head)=start_node;
%隊列擴展
head=head+1;
%感染節(jié)點列表
infection=start_node;
%恢復節(jié)點列表
recover=[];
%易感染節(jié)點列表
for i=1:N
%初始時,start_node為感染狀態(tài)
if i==start_node
%-1表示該節(jié)點已經從列表中刪除
susceptible(i)=-1;
end
%初始時,除了start_node為感染狀態(tài)外,其他節(jié)點都處于易感染狀態(tài)
susceptible(i)=i;
end
%開始按照廣度優(yōu)先搜索順序向鄰居節(jié)點傳播
%判斷隊列是否為空
while tail~=head
%取隊尾節(jié)點
i=queue(tail);
%如果該節(jié)點不在移除列表之中
if isempty(find(recover==i,1))
for j=1:N
%如果節(jié)點j與當前節(jié)點i相連并且節(jié)點j不在感染列表中
if A(i,j)==1 && isempty(find(infection==j,1))
infection_random=rand(1);
if infection_random < irate
%新節(jié)點入列
queue(head)=j;
%擴展隊列
head=head+1;
%將新節(jié)點j加入感染列表
infection=[infection j];
%從易感染節(jié)點列表中刪除該節(jié)點,設置為-1
[row,col,v] = find(susceptible==j) ;
susceptible(col)=-1;
susceptible(find(susceptible==-1))=[];
end
end
end
%將感染的節(jié)點按概率加入恢復節(jié)點列表
recover_random=rand(1);
if infection_random < rrate
%恢復
recover=[recover i];
%從感染列表中刪除
[row,col,v] = find(infection==i) ;
infection(col)=-1;
infection(find(infection==-1))=[];
end
tail=tail+1;
end %end if isempty(find(recover==i,1)
end %end while
%分別現實最后節(jié)點的狀態(tài)
infection
susceptible
recover
end
到此這篇關于Matlab實現新冠病毒傳播模擬的文章就介紹到這了,更多相關Matlab新冠病毒傳播內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
教你如何在WordPress發(fā)布文章時自定義文章作者名稱
這篇文章主要介紹了如何在WordPress發(fā)布文章時自定義文章作者名稱2021-09-09
npm script 的文件監(jiān)聽和自動刷新的命令詳解
文件監(jiān)聽的作用是為了實現自動化,釋放雙手和精力,提高效率,讓開發(fā)者更加關注于開發(fā)。這篇文章主要介紹了npm script 的文件監(jiān)聽和自動刷新,需要的朋友可以參考下2019-06-06
git?clone報錯SSL?connect?error解決
這篇文章主要為大家介紹了git?clone報錯SSL?connect?error解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11

