matlab病毒扩散,[MATLAB数学相关] 现有Allen的病毒扩散模型SIRS的马尔科夫过程程序,求指导...

icon1.gif 现有Allen的病毒扩散模型SIRS的马尔科夫过程程序,求指导

由Allen编写的SIRS模型的马尔可夫过程如下:

for k=1:4 % 解马尔科夫链的样本轨迹

clear t s i r

t(1)=0; i(1)=i0; s(1)=N-i0;r(1)=0;

j=1;

while i(j)>0 && t(j)

nn=s(j)+i(j)+r(j);

u1=rand;u2=rand;

den=((beta/nn)*i(j)*s(j)+gam*i(j)+alpha*i(j)+delta*r(j));%所有patch的概率之和

t(j+1)=-log(u1)/den+t(j); % Time to next event

e1=(beta/nn)*s(j)*i(j)/den;%以下是每个patch概率与总概率之比

e2=e1+gam*i(j)/den;

e3=e2+alpha*i(j)/den;

e4=e3+delta*r(j)/den;

if (u2<=e1) %每个patch情况下的个体变化情况

s(j+1)=s(j)-1;

i(j+1)=i(j)+1;

r(j+1)=r(j);

elseif (u2>e1 && u2<=e2)

s(j+1)=s(j);

i(j+1)=i(j)-1;

r(j+1)=r(j)+1;

elseif (u2>e2 && u2<=e3)

s(j+1)=s(j);

i(j+1)=i(j)-1;

r(j+1)=r(j);

else

s(j+1)=s(j)+1;

i(j+1)=i(j);

r(j+1)=r(j)-1;

end

j=j+1;

end

(省略出图部分)

end

本人菜鸟,对上述标黄部分的分支概率不太理解,变量“den”是各个转换概率之和,e1-e4分别是四种转换概率与“den”的比值,请问各位大神,e1-e4的顺序有区别么?另附本程序的转换图,见“SIR模型”图,若想在本程序的基础上,改写成“SIRP模型”图所应用的程序,应该怎么写呢?

目前存在两个问题:1.S→I之间有两种转换概率的情况该怎么解决呢?

2. P作为独立变量,对S→I有影响,但其增加或减少的变动情况与S,I,R相对独立,P的每一步数量应该单独统计么?

感谢各位!论文卡在这里很久了,请大家帮忙。

SIR模型.jpg

SIRP模型.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值