基于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

相关推荐
tyatyatya3 天前
MATLAB中进行视觉检测入门教程
开发语言·matlab·视觉检测
2zcode4 天前
基于Matlab可见光通信系统中OOK调制的误码率性能建模与分析
算法·matlab·php
听情歌落俗4 天前
MATLAB3-1变量-台大郭彦甫
开发语言·笔记·算法·matlab·矩阵
XIAOYU6720134 天前
金融数学专业需要学哪些数学和编程内容?
开发语言·matlab·金融
听情歌落俗4 天前
MATLAB3-2数据存储-台大郭彦甫
开发语言·数学建模·matlab·矩阵
slandarer5 天前
MATLAB | 这是屎吗?抱歉打错了,这是什么?
开发语言·matlab
茜茜西西CeCe5 天前
数字图像处理-巴特沃斯高通滤波、低通滤波
图像处理·opencv·计算机视觉·matlab·巴特沃斯高通滤波·巴特沃斯低通滤波
电力程序小学童5 天前
基于密集型复杂城市场景下求解无人机三维路径规划的Q-learning算法研究(matlab)
算法·matlab·无人机
通信小呆呆5 天前
OCDM 波形通信感知一体化:从原理到 MATLAB 实现
matlab·信息与通信·通信感知一体化·ocdm
2zcode6 天前
基于Matlab不同作战类型下兵力动力学模型的构建与稳定性分析
开发语言·matlab