Matlab实现新冠病毒传播模拟效果
作者:电力系统与算法之美 发布时间:2022-01-23 00:01:28
标签:Matlab,新冠,病毒传播
1 各种疫苗梳理
截至2022年3月,中国已经向120多个国家和国际组织提供了超过21亿剂疫苗,占中国以外全球疫苗使用总量的1/3。
1.1 灭活疫苗
2020年12月31日,国务院联防联控机制发布,国药集团中国生物新冠灭活疫苗已获得国家药监局批准附条件上市。
1.2 吸入式新冠疫苗
2021年11月12日—14日,全球首款可吸入式新冠疫苗亮相“2021第五届海南国际健康产业博览会”。全球首款吸入式新冠疫苗由军事医学研究院陈薇院士团队与康希诺生物股份公司合作研发,二期临床试验已取得阶段性成果,正在推进紧急使用的申请工作。据了解,吸入式新冠疫苗与肌肉注射使用了同种疫苗,其制剂配方未改变,仅采用不同的给药方式。雾化吸入免疫采用雾化器将疫苗雾化成微小颗粒,通过口部吸入的方式进入呼吸道和肺部,从而激发黏膜免疫,而这种免疫是通过肌肉注射所不能带来的。
1.3 植物蛋白技术疫苗
2022年2月24日 ,加拿大卫生部宣布,授权该国药企Medicago研制的新冠疫苗Covifenz可用于18至64岁成年人。这是加拿大审批通过的第六款新冠疫苗,也是首款本土研发的新冠疫苗,Covifenz是首个使用植物蛋白技术的新冠疫苗。
1.4 AI技术开发长效新冠疫苗
2022年4月11日报道,日本NEC公司8日宣布已开始利用最尖端的人工智能(AI)技术开发新冠疫苗。
1.5 法国Valneva新冠疫苗
2022年4月14日,彭博报道,根据一份政府声明,英国药品和保健品管理局(MHRA)批准法国生物技术公司Valneva开发的新冠疫苗。Valneva疫苗成为第六种获得MHRA授权的新冠疫苗。
2 matlab代码
%======欢迎关注公众号:电力系统与算法之美=======%
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
来源:https://blog.csdn.net/weixin_46039719/article/details/124198360
0
投稿
猜你喜欢
- 一、前言在学习深度学习会发现都比较爱用python这个argparse,虽然基本能理解,但没有仔细自己动手去写,因此这里写下来作为自己本人的
- 思路改进原博主文章(Python GUI–Tkinter简单实现个性签名设计)的代码,原先的代码是基于Python2的,我这份代码基于Pyt
- 哲学家就餐问题:哲学家就餐问题是典型的同步问题,该问题描述的是五个哲学家共用一张圆桌,分别坐在五张椅子上,在圆桌上有五个盘子和五个叉子(如下
- 本文实例讲述了Python基于最小二乘法实现曲线拟合。分享给大家供大家参考,具体如下:这里不手动实现最小二乘,调用scipy库中实现好的相关
- 在VBScript中有Filter这个函数可以用来对数组进行过滤,并返回原数组的一个子集数组。语法说明: 引用内容Filter 函
- 前言大家都知道Python 是一门强类型、动态类型检查的语言。所谓动态类型,是指在定义变量时,我们无需指定变量的类型,Python 解释器会
- 具体编译过成与正常的Python源代码在x86平台上的过程无异,此篇随笔仅当用作复制黏贴的备忘录。不得不说在一个老旧系统上安装一个老旧的Py
- 1. 带默认值的参数在了解带星号(*)的参数之前,先看下带有默认值的参数,函数定义如下:>> def defaultValueA
- 前言matplotlib画图例默认的位置是在图中的各个角落,但有时图例位置会遮挡住图像而不符合我们的需求,需要对图例位置进行调整。代码如下:
- 浅拷贝和深拷贝拷贝函数是专门为可变数据类型list、set、dict使用的一种函数。作用是,当一个值指向另一个值的时候,也不会影响指向的值,
- python openvc 裁剪图片下面是4个坐标代码:import cv2#裁剪图片路径input_path,四个裁剪坐标为:y1,y2,
- 1. csv文件自带列标题import pandas as pd df_example = pd.read_csv('Pandas_
- 问题:我想每日从数据库里导出一些数据,内容基本上都是一样的,只是时间不同,比如导出一张表wjzcreate table wjz(id int
- 本文实例为大家分享了Python实现打乒乓小游戏的具体代码,供大家参考,具体内容如下源码奉上:import sysimport cfgimp
- 最新版本的Python发布了!今年夏天,Python 3.8发布beta版本,在2019年10月14日,第一个正式版本已准备就绪。现在,我们
- 先说需求: 1、django 自带了admin后管,如果我们需要使用,只需把我们定义的models注册即可;2、但如果只是简单注册,那显示的
- 1 以下代码的输出结果为:print(round(-3.6))A.-4B.-4.0C.-3D. -3.02 以下代码的输出结果为(Pytho
- 在对列表的元素进行找寻时,会频繁的说到遍历的理念。对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环。本篇所要带来的是zip()
- 题目描述给定一个只包括 '(',')','{','}','['
- 本文实例讲述了Python中list以及list与array的相互转换实现方法。分享给大家供大家参考,具体如下:python中的list是一