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

本文主要是介绍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

这篇关于matlab病毒扩散,[MATLAB数学相关] 现有Allen的病毒扩散模型SIRS的马尔科夫过程程序,求指导...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_42323034/article/details/116074185
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/397446

相关文章

Spring AI 实现 STDIO和SSE MCP Server的过程详解

《SpringAI实现STDIO和SSEMCPServer的过程详解》STDIO方式是基于进程间通信,MCPClient和MCPServer运行在同一主机,主要用于本地集成、命令行工具等场景... 目录Spring AI 实现 STDIO和SSE MCP Server1.新建Spring Boot项目2.a

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

uniapp小程序中实现无缝衔接滚动效果代码示例

《uniapp小程序中实现无缝衔接滚动效果代码示例》:本文主要介绍uniapp小程序中实现无缝衔接滚动效果的相关资料,该方法可以实现滚动内容中字的不同的颜色更改,并且可以根据需要进行艺术化更改和自... 组件滚动通知只能实现简单的滚动效果,不能实现滚动内容中的字进行不同颜色的更改,下面实现一个无缝衔接的滚动

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

将图片导入Python的turtle库的详细过程

《将图片导入Python的turtle库的详细过程》在Python编程的世界里,turtle库以其简单易用、图形化交互的特点,深受初学者喜爱,随着项目的复杂度增加,仅仅依靠线条和颜色来绘制图形可能已经... 目录开篇引言正文剖析1. 理解基础:Turtle库的工作原理2. 图片格式与支持3. 实现步骤详解第

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3

防止SpringBoot程序崩溃的几种方式汇总

《防止SpringBoot程序崩溃的几种方式汇总》本文总结了8种防止SpringBoot程序崩溃的方法,包括全局异常处理、try-catch、断路器、资源限制、监控、优雅停机、健康检查和数据库连接池配... 目录1. 全局异常处理2. 使用 try-catch 捕获异常3. 使用断路器4. 设置最大内存和线

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Maven 依赖发布与仓库治理的过程解析

《Maven依赖发布与仓库治理的过程解析》:本文主要介绍Maven依赖发布与仓库治理的过程解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录Maven 依赖发布与仓库治理引言第一章:distributionManagement配置的工程化实践1

Spring三级缓存解决循环依赖的解析过程

《Spring三级缓存解决循环依赖的解析过程》:本文主要介绍Spring三级缓存解决循环依赖的解析过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、循环依赖场景二、三级缓存定义三、解决流程(以ServiceA和ServiceB为例)四、关键机制详解五、设计约