溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Matlab怎么實現新冠病毒傳播模擬效果

發(fā)布時間:2022-04-16 10:53:23 來源:億速云 閱讀:262 作者:iii 欄目:開發(fā)技術

這篇“Matlab怎么實現新冠病毒傳播模擬效果”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“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代碼

    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怎么實現新冠病毒傳播模擬效果”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業(yè)資訊頻道。

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI