matlab画图中如何标出图中的某一点,以SIR模型为例:

首先需要一个单独的.m文件:

%写上三个微分方程
function y=SIRModel(t,x,beta,gamma,N)
y=[-beta*x(1)*x(2)/N,beta*x(1)*x(2)/N-gamma*x(2),gamma*x(2)]';

接下来的程序:

 ts=0:1:200;%天数取值
beta=0.350;%感染率gamma=1/7;%治愈率N=1000;%总人数
x0=[999,1,0];%初始各部分人数[t,x] = ode45(@(t,x) SIRModel(t,x,beta,gamma,N), ts, x0);%微分方程求解plot(t,x(:,1)/N*100,'k',t,x(:,2)/N*100,'r',t,x(:,3)/N*100,'b');%画图
xlabel('Days');ylabel('比例(%)');legend('易感人群','感染人群','治愈人群');%图例hold on;maxi=max(x(:,2)/N*100)%求取感染人数的峰值maxt=t(find((x(:,2)/N*100==maxi)))%找到感染人数对应的横坐标值
sol=ode45(@(t,x) SIRModel(t,x,beta,gamma,N), ts, x0);%将结果放到结构体中
y=deval(sol,maxt)/N*100%用deval函数求取当时间为maxt时,各部分的比例
m=y(1,1)%取出感染人群的比例
z=maxt;
plot([z,z],[0,m],'r--');
plot([0,z],[m,m],'r--');%在图上标出对应的点位置,求解R0的值
hold on
s0=sprintf('1/R_0(%.2f)',m/100);
s1=sprintf('%d',maxt);
s2=sprintf('R_0=%.2f   1/gamma=%ddays',1/(m/100),1/gamma);
text(0,m+3,s0);%标出1/R0及其值
text(maxt,-3,s1);%标出感染人群的峰值对应的横坐标
title(s2);%标题``


标注主要用plot函数实现
plot([z,z],[0,m],‘r–’);
plot([0,z],[m,m],‘r–’)
通过标注出横纵坐标确定出点的位置
对于ode45函数,要求ts内任一点的位置的值可通过sol,与deval求出。
首先将ode45结果存放在结构体sol中,然后通过deval求出任一点的x矩阵值,再取出S的值即可

sol=ode45(@(t,x) SIRModel(t,x,beta,gamma,N), ts, x0);%将结果放到结构体中
y=deval(sol,maxt)/N*100%用deval函数求取当时间为maxt时,各部分的比例
m=y(1,1)%取出感染人群的比例

matlab画图中该如何标注途中的某一点,以SIR模型为例相关推荐

  1. matlab 画图中线型及颜色设置

    matlab 画图中线型及颜色设置 MATLAB 受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图 功能.本章主要介绍2维图形对象的生成函数及图形控制函数的使用方 法,还将 简单地介绍一些图形 ...

  2. vecm模型怎么写系数_经典传染病的SIR模型(基于MATLAB)

    经典的SIR模型是一种发明于上个世纪早期的经典传染病模型,此模型能够较为粗略地展示出一种传染病的发病到结束的过程,其核心在于微分方程,本次我们利用matlab来对此方程进行 其中三个主要量 S是易感人 ...

  3. Matlab中一球反弹的高度,matlab数学建模2乒乓球的弹跳和罗基斯帝模型.doc

    matlab数学建模2乒乓球的弹跳和罗基斯帝模型.doc 1乒乓球的弹跳罗基斯第模型问题罗基斯第模型一个乒乓球离球拍的高度为H0,落在球拍上反弹,设恢复系数为E,不计空气阻力.1如果E为常数,讨论球的 ...

  4. 【数学建模】基于SIR模型实现新冠病毒COVID-19估计附matlab代码

    1 内容介绍 COVID-19是由严重急性呼吸综合症冠状病毒2型引发的传染病,它最初病毒携带者是一些动物,传染源主要是COVID-19患者,无症状患者.传播方式主要是呼吸道飞沫近距离传播,接触传播,还 ...

  5. 数学建模常用方法 | matlab代码 | 二十三种数学建模方法 |2022赛前突击 |模型代码 |比赛比用、简单高效| 分享

    为是赛前突击,所以就不过多的介绍理论知识了,直接上案例,matlab代码 更加详细例题解析: 公众h:露露IT 目录 1.类比法 2.二分法 3.量纲分析法 4.图论法 5.差分法 6.变分法 7.数 ...

  6. 【数学建模】基于matlab SIR模型新冠病毒COVID-19估计【含Matlab源码 2042期】

    一.SEIR模型简介 1 SEIR模型简介 如果所研究的传染病有一定的潜伏期,与病人接触过的健康人并不马上患病,而是成为病原体的携带者,归入 E 类.此时有: 仍有守恒关系 S(t) + E(t) + ...

  7. 《Matlab图像处理》part1 Snakes:Active Contour Models 主动轮廓模型

    <Matlab图像处理>part1 Snakes:Active Contour Models 主动轮廓模型 参考博客: 数字图像处理-图像分割:Snake主动轮廓模型 Matlab代码及运 ...

  8. matlab带未知数的劳斯判据,自动控制原理实验用Matlab软件编制劳斯判据程序并解题(《学习辅导》例435).doc...

    自动控制原理实验用Matlab软件编制劳斯判据程序并解题(<学习辅导>例435) 上 海 电 力 学 院 实 验 报 告 自 动 控 制 原 理 实 验 课 程 题目:用Matlab软件编 ...

  9. MATLAB Simmechanics/Simscape四旋翼无人机控制仿真(2) Simulink模型调节

    MATLAB Simmechanics/Simscape四旋翼无人机控制仿真(2) Simulink模型调节 MATLAB Simmechanics/Simscape四旋翼无人机控制仿真(2) Sim ...

最新文章

  1. 计算机网络解决数据包丢失,数据包丢失时网络控制系统的稳定性分析及设计
  2. quot c语言数组压缩 quot,程序员之---C语言细节12(指针和数组细节,quot;//quot;的可移植性说明)...
  3. 黑马java代码04-05.docx
  4. 用官方的SSD1306.py 驱动 OLED
  5. ImportError: cannot import name ‘moving_averages‘
  6. PLSQL连接ORACLE
  7. 人生聚散,一切随缘!
  8. 玩转Docker镜像
  9. 部分SQL Server数据库备份
  10. 你如何才能成为10倍速的程序员
  11. matlab设计用户界面,MATLAB程序设计教程(11)—MATLAB图形用户界面设计
  12. 计算机在社会工作和生活中的应用,计算机综合应用能力实训
  13. 图片与进制的转化之路
  14. 小兔兔系列语言故事5(之所谓的朋友5)
  15. 管理是个难题,向你讲述小企业经验
  16. 微前端:使用qiankun框架的注意点
  17. 搭建大众点评网CAT监控
  18. 学生上课睡觉班主任怎么处理_学生上课睡觉怎么办
  19. 全国计算机等级考试超级模拟软件答案,全国计算机等级考试超级模拟软件app
  20. freebsd 运行linux,成功搞定自己的 FreeBSD

热门文章

  1. stack-es-标准篇-ElasticsearchClient-fields
  2. 农村信息化服务亟待破解五大难题
  3. 卡尔曼滤波的原理与思想
  4. C++(Qt) 和 Word、Excel、PDF 交互总结
  5. H.324M 3G-324M
  6. python把数组中的数字每行打印3个并保存在文档中
  7. python安装扩展库常用的命令_Python环境——安装扩展库
  8. 通过旋转候选框实现任意方向的场景文本检测
  9. centos7 Kubeadm安装配置K8S 及Dashboard外部服务
  10. 博士算是人才!不是(著名学者苗体君大师著)