新しいコロナウイルス拡散シミュレーション(Matlabの実装)

コンテンツ

1さまざまなワクチンの選別

1.1不活化ワクチン

1.2吸入COVID-19ワクチン

1.3植物タンパク質技術ワクチン

1.4長時間作用型の新しいクラウンワクチンを開発するためのAIテクノロジー

1.5フランスのValneva新冠ワクチン

2matlabコード


1さまざまなワクチンの選別

2022年3月の時点で、中国は120を超える国と国際機関に21億回以上のワクチンを提供しており、中国以外の世界のワクチン使用量全体の3分の1を占めています。 

1.1不活化ワクチン

2020年12月31日、国家評議会の共同予防および管理メカニズムは、シノファームグループの中国バイオニュークラウン不活化ワクチンが国家食品医薬品局によって条件付き上場が承認されたことを発表しました。 

1.2吸入COVID-19ワクチン

2021年11月12日から14日まで、世界初の吸入可能な新しいクラウンワクチンが「2021年第5回海南国際健康産業博覧会」で発表されました。世界初の吸入新冠ワクチンは、軍事医学研究院の陳偉学者とCanSino Biological Co.、Ltdのチームが共同で開発しました。第II相臨床試験は段階的な結果を達成しており、緊急使用への応用が進んでいます。昇格しました。吸入された新しいクラウンワクチンと筋肉内注射は同じワクチンを使用し、その処方は変更されておらず、異なる投与方法のみが使用されていることが理解されます。噴霧吸入免疫は、ネブライザーを使用してワクチンを小さな粒子に噴霧し、経口吸入によって気道と肺に入り、筋肉内注射ではもたらされない粘膜免疫を刺激します。 

1.3植物タンパク質技術ワクチン

2022年2月24日、カナダ保健省は、同国の製薬会社Medicagoが開発した新しいクラウンワクチンCovifenzを、18〜64歳の成人に使用することを承認したと発表しました。これは、カナダで承認された6番目の新しいクラウンワクチンであり、地元で開発された最初の新しいクラウンワクチンです。コビフェンズは、植物タンパク質技術を使用した最初の新しいクラウンワクチンです。 

1.4長時間作用型の新しいクラウンワクチンを開発するためのAIテクノロジー

2022年4月11日の報告によると、日本のNEC株式会社は8日、最先端の人工知能(AI)技術を使用した新しいクラウンワクチンの開発を開始したと発表しました。 

1.5フランスのValneva新冠ワクチン

政府の声明によると、2022年4月14日、ブルームバーグは、英国医薬品医療製品規制当局(MHRA)がフランスのバイオテクノロジー企業Valnevaによって開発された新しいクラウンワクチンを承認したと報告しました。Valnevaワクチンは、MHRAが認可した6番目のCovid-19ワクチンになります。

2matlabコード

%======欢迎关注公众号:电力系统与算法之美=======%
function spreadingBySir()
    A=load('test.in');
    % node number
    N=size(A,1);   
    %感染概率
    irate=0.3;
    %恢复概率
    rrate=1;
    %初始时节点的状态表,初始时只有节点1为感染状态,其他的都为易感染状态  
    start_node=1;
    %按照图的广度优先的原则来进行病毒传播
    BFSspreading(A,N,start_node,irate,rrate);
end

function BFSspreading(A,N,start_node,irate,rrate)
%队列头
head=1;            
%队列尾,开始队列为空,tail==head
tail=1;            
%向头中加入感染源节点
queue(head)=start_node;      
%队列扩展
head=head+1;  

%感染节点列表 
infection=start_node;  
%恢复节点列表  
recover=[];
%易感染节点列表
for i=1:N
    %初始时,start_node为感染状态
    if i==start_node
        %-1表示该节点已经从列表中删除
        susceptible(i)=-1;
    end
    %初始时,除了start_node为感染状态外,其他节点都处于易感染状态
     susceptible(i)=i;
end

%开始按照广度优先搜索顺序向邻居节点传播
%判断队列是否为空
while tail~=head   
    %取队尾节点 
    i=queue(tail);  
    %如果该节点不在移除列表之中
    if isempty(find(recover==i,1))
            for j=1:N
             %如果节点j与当前节点i相连并且节点j不在感染列表中
            if A(i,j)==1 && isempty(find(infection==j,1))   
                 infection_random=rand(1);
                 if infection_random < irate
                    %新节点入列
                    queue(head)=j;  
                    %扩展队列
                    head=head+1;   
                    %将新节点j加入感染列表
                    infection=[infection j]; 
                    
                    %从易感染节点列表中删除该节点,设置为-1
                    [row,col,v] = find(susceptible==j) ;
                    susceptible(col)=-1;
                    susceptible(find(susceptible==-1))=[];                    
                 end
            end
        end
        %将感染的节点按概率加入恢复节点列表  
        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

%分别现实最后节点的状态
infection
susceptible
recover
end

 

おすすめ

転載: blog.csdn.net/weixin_46039719/article/details/124198360