基于SEIR传染病模型的社会舆情传播matlab模拟与仿真

目录

1.程序功能描述

2.测试软件版本以及运行结果展示

3.核心程序

4.本算法原理

5.完整程序


1.程序功能描述

在当今信息高度发达的社会,舆情如同传染病一般,能够在人群中迅速扩散,对社会稳定、经济发展以及个人生活产生深远影响。将传染病动力学中的 SEIR 模型应用于社会舆情传播研究,为理解舆情的发展态势提供了有力的定量分析工具。SEIR 模型原本用于描述传染病在人群中的传播过程,它把人群分为四类:易感者(Susceptible)、暴露者(Exposed)、感染者(Infected)和康复者(Recovered)。通过类比,我们可以构建基于 SEIR 模型的社会舆情传播模型,揭示舆情从产生、扩散到平息的内在规律。

2.测试软件版本以及运行结果展示

MATLAB2022A版本运行

3.核心程序

复制代码
...........................................................................

% 绘制图像
figure;
subplot(221);
% 用红色绘制平滑曲线,线宽为 2
plot(nums5,'r','linewidth',2) 
% 保持当前图像以便添加新曲线
hold on 
% 用蓝色带圆圈标记绘制真实每日推文数量曲线
plot(nums0,'b-o'); 
% 添加 x 轴标签
xlabel('days'); 
% 添加 y 轴标签
ylabel('推文数量'); 
% 添加图例
legend('每天推文5日均值曲线','真实每日推文数量');

subplot(222);
% 用红色绘制平滑曲线,线宽为 2
plot(nums10,'r','linewidth',2) 
% 保持当前图像以便添加新曲线
hold on 
% 用蓝色带圆圈标记绘制真实每日推文数量曲线
plot(nums0,'b-o'); 
% 添加 x 轴标签
xlabel('days'); 
% 添加 y 轴标签
ylabel('推文数量'); 
% 添加图例
legend('每天推文10日均值曲线','真实每日推文数量');

subplot(223);
% 用红色绘制平滑曲线,线宽为 2
plot(nums20,'r','linewidth',2) 
% 保持当前图像以便添加新曲线
hold on 
% 用蓝色带圆圈标记绘制真实每日推文数量曲线
plot(nums0,'b-o'); 
% 添加 x 轴标签
xlabel('days'); 
% 添加 y 轴标签
ylabel('推文数量'); 
% 添加图例
legend('每天推文20日均值曲线','真实每日推文数量');

subplot(224);
% 用红色绘制平滑曲线,线宽为 2
plot(nums30,'r','linewidth',2) 
% 保持当前图像以便添加新曲线
hold on 
% 用蓝色带圆圈标记绘制真实每日推文数量曲线
plot(nums0,'b-o'); 
% 添加 x 轴标签
xlabel('days'); 
% 添加 y 轴标签
ylabel('推文数量'); 
% 添加图例
legend('每天推文30日均值曲线','真实每日推文数量');

numss=nums20;
..............................................
% 绘制图像
figure;
% 用红色绘制 nums2 曲线,线宽为 2
plot(T,nums2,'r','linewidth',2);hold on 
% 用青色绘制 S 曲线,线宽为 2
plot(T,S,'c','linewidth',2);hold on 
% 用蓝色绘制 E 曲线,线宽为 2
plot(T,E,'b','linewidth',2);hold on 
% 用黑色绘制 I 曲线,线宽为 2
plot(T,I,'k','linewidth',2);hold on 
% 用品红色绘制 R 曲线,线宽为 2
plot(T,R,'m','linewidth',2);hold on 
% 显示网格
grid on; 
% 添加 x 轴标签
xlabel('天'); 
% 添加 y 轴标签
ylabel('推文数量') 
% 添加图例
legend('每天推文变化趋势','S(t)','E(t)','I(t)','R(t)')
16_117m

4.本算法原理

第一个方程描述了易感者数量的变化率。由于易感者只有在与感染者接触时才会被感染,所以其数量减少的速率与易感者、感染者的数量乘积成正比,比例系数为感染率beta。

第二个方程表示暴露者数量的变化。一方面,易感者感染后成为暴露者,这部分增加量为beta*S*I ;另一方面,暴露者以速率delta转化为感染者,所以要减去delta*E 。

第三个方程体现感染者数量的动态。暴露者以速率delta转变为感染者,使得感染者数量增加;同时,感染者以速率 恢复为康复者,导致其数量减少。

最后一个方程反映康复者数量随感染者恢复而增加的过程,增加速率为r*I。

通过数值求解上述微分方程组(可使用如 Runge - Kutta 等数值方法),可以得到不同时刻各群体人数的变化情况,进而描绘出舆情传播的动态曲线。在初始阶段,由于易感者数量庞大,感染者数量会迅速增加,随着时间推移,暴露者陆续转化为感染者,同时感染者也开始以一定速率恢复为康复者,易感者数量持续下降。当达到一定时间后,由于易感者数量减少以及康复者增多,舆情传播速度逐渐减缓,最终趋于平息。

基于 SEIR 模型的社会舆情传播研究为理解舆情演变规律提供了系统的框架。通过合理定义变量、参数,以及进行稳定性分析、模型拓展等工作,能够较为准确地模拟不同场景下的舆情传播态势,并为舆情管控提供科学依据。

5.完整程序

VVV

相关推荐
The hopes of the whole village5 小时前
matlab 绘图
开发语言·matlab·信息可视化
程高兴14 小时前
基于Matlab的车牌识别系统
开发语言·matlab
XuX0317 小时前
手搓雷达图(MATLAB)
matlab·贴图
freexyn21 小时前
Matlab自学笔记五十一:(推荐)输入参数的数量和可变数量的输入
笔记·算法·matlab
不吃酸的柠檬21 小时前
MATLAB 中的图形绘制
人工智能·机器学习·matlab
studyer_domi21 小时前
Matlab 复合模糊PID
开发语言·matlab
DarrenPig2 天前
【新能源科学与技术】MATALB/Simulink小白教程(一)实验文档【新能源电力转换与控制仿真】
matlab·开源·github·simulink·交流
简简单单做算法2 天前
基于GA遗传优化TCN-BiGRU注意力机制网络模型的时间序列预测算法matlab仿真
matlab·tcn-bigru·时间序列预测·注意力机制·ga遗传优化
Cc小跟班2 天前
MATLAB小技巧记录(特殊符号、图例位置...)
开发语言·算法·matlab
随风飘摇的土木狗3 天前
【MATLAB第116期】基于MATLAB的NBRO-XGBoost的SHAP可解释回归模型(敏感性分析方法)
matlab·gsa·敏感性分析·特征排序·灵敏度分析·shap·可解释