​如何实现疫情扩散仿真程序?

本文介绍了如何使用Python实现疫情扩散仿真程序。程序通过numpy构建人群和床位矩阵,利用matplotlib绘制散点图和折线图,并通过计算欧氏距离模拟人与人之间的接触。详细代码已上传至GitHub,附有视频教程。
摘要由CSDN通过智能技术生成

内容简介

  • 1.简单介绍疫情扩散仿真程序的实现思路

实现程序

一个完整的程序涉及很多细节,细节过多难以阅读,所以只介绍大致的实现思路,具体细节可以自行看代码理解。

先看完整程序的运行效果,如图。

从图可以看出,整个程序可以分为3大部分。

  • 1.人群散点图
  • 2.床位散点图
  • 3.不同数据间的折现图

大体思路是这样的。

通过numpy来构建人群矩阵,矩阵的每一行表示一个人,大致形式为[[x, y, status …]],以类似的方式构建床位矩阵,通过这些矩阵就可以轻松绘制出散点图了。

散点图使用matplotlib进行绘制,matplotlib支持动图,使用matplotlib下的animation则可。

有了人群矩阵与床位矩阵,通过numpy就可以轻松统计出不同状态下的人数与床位数,有了这些数据就可以通过matplotlib来绘制折线图了。

至于如何模拟人的接触,其实也很简单,直接计算移动后人群矩阵与移动前人群矩阵间的欧氏距离,然后判断这个距离是否小于某个值,如果小于,则通过random函数随机判断是否要改变人的状态为被感染状态。

要实现程序,需要对numpy与ma

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒编程-二两

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值