介绍
sir-model是一种用来模拟疫情扩散的数学模型,也可以应用于其他领域的模拟中,比如生态学。npm包sir-model基于sir-model,提供了类似GUI的接口,方便前端用户使用该模型。
安装
在应用的根目录下运行以下命令来安装npm包sir-model:
npm install sir-model
使用
引入
在javascript文件中引入sir-model:
import { Sir } from 'sir-model';
配置
使用Sir类的构造函数来初始化模型,需要传入四个参数:
- S0: 初始易感人数
- I0: 初始感染人数
- R0: 初始治愈人数
- beta: 病毒传染速度
例如,我们可以这样初始化一个模型:
const model = new Sir(1000, 10, 0, 0.25);
运行
sir-model提供了能够模拟模型行为的方法。包括:
model.next()
- 运行模型一次model.run(steps)
- 运行模型指定的步数
例如,我们可以这样运行模型100步:
model.run(100);
获取数据
我们可以使用sir-model提供的方法来访问当前模型数据。sir-model提供和mathjs库一样的API来访问和处理数据。
model.get(key)
- 获取指定的数据model.set(key, value)
- 设置指定的数据model.data()
- 获取所有数据
例如,我们可以这样获取感染人数:
model.get('I')
可视化
sir-model提供了chart.js来可视化数据。我们可以使用chart.js的API来渲染图表。
例如,我们可以这样使用chart.js来渲染一条感染人数变化的折线图:
-- -------------------- ---- ------- ----- ----- - --- ---------- - ----- ------- ----- - ------- ------------------------------- --------- -- ------ ------- ----- --------------- ----- ------ ------------ -------- ---- ------ -------- --- -- - ---
示例
我们可以使用Vue.js来构建一个基本的UI,使用sir-model来进行模拟和渲染图表。
- 安装Vue.js和sir-model
npm install vue npm install sir-model
- 编写HTML文件
-- -------------------- ---- ------- --------- ----- ----- ---------- ------ ----- ---------------- ---------------------- ------- ------------------------------------------------------------ ------- --------------------------------------------------------------------------- ------- ------ ---- --------- ------------ ----- ------- ------ ------------- -------------------- ------ ----- ------- ------ ------------- -------------------- ------ ----- ------- ------ ------------- -------------------- ------ ----- ----- ------ ------------- ---------------------- ------ ------- --------------------------- --------------- ------- ---------------------- ------ ------- -------------------------- ------- -------
- 编写javascript文件
-- -------------------- ---- ------- ------ - --- - ---- ------------ ------ ----- ---- ----------- ----- --- - --- ----- --- ------- ----- - ------ --- --------- --- -- ------ ------ ---- -- -------- - -------- - -------------------- -------------------- - -- --------- - ----- ------ - ----------------------------------- ----- --- - ------------------------ ---------- - --- ---------- - ----- ------- ----- - ------- ------------------------------------ --------- -- ------ ------- ----- -------------------- ----- ------ ------------ -------- ---- ------ -------- --- -- - --- - ---
- 运行
在命令行中输入以下命令来启动应用:
npm run dev
然后打开浏览器,在地址栏中输入http://localhost:8080即可访问该应用,即可进行感染人数变化的模拟和可视化。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005692781e8991b448e4b57