当前位置: 首页 > news >正文

手搓传染病模型(SEI - SEIAR )

在传染病防控的前沿研究中,构建精准的数学模型对于理解疾病传播机制、预测疫情走势以及制定有效干预策略至关重要。SEI - SEIAR 模型(易感媒介 \(S_m\) - 潜伏媒介 \(E_m\) - 感染媒介 \(I_m\) - 易感人群 S - 潜伏人群 E - 有症状感染者 I - 无症状感染者 A - 康复者 R)整合了人群与媒介的动态交互,为分析传染病在复杂生态中的传播提供了强大工具。图中的模型由一组微分方程构成,清晰刻画了各仓室的变化规律:

\(\begin{cases} \frac{dS_m}{dt} = ac(N_m - nI_m) - \frac{\beta_{pm}S_m(I + A)}{N} - bS_m \\ \frac{dE_m}{dt} = \frac{\beta_{pm}S_m(I + A)}{N} - \omega_m E_m - bE_m \\ \frac{dI_m}{dt} = acnI_m + \omega_m E_m - bI_m \\ \frac{dS}{dt} = -\frac{\beta_{mp}S I_m}{N} \\ \frac{dE}{dt} = \frac{\beta_{mp}S I_m}{N} - \omega E \\ \frac{dI}{dt} = (1 - q)\omega E - \gamma I \\ \frac{dA}{dt} = q\omega E - \gamma' A \\ \frac{dR}{dt} = \gamma I + \gamma' A \end{cases}\)

一、模型方程深度解析

  • 媒介部分
    • \(\frac{dS_m}{dt}\):易感媒介的变化率,包含媒介的自然出生 \(ac(N_m - nI_m)\)、因接触人群感染者而减少 \(\frac{\beta_{pm}S_m(I + A)}{N}\) 以及自然死亡 \(bS_m\)。
    • \(\frac{dE_m}{dt}\):潜伏媒介的变化,由易感媒介感染转化而来 \(\frac{\beta_{pm}S_m(I + A)}{N}\),并考虑潜伏期结束转化 \(\omega_m E_m\) 和自然死亡 \(bE_m\)。
    • \(\frac{dI_m}{dt}\):感染媒介的变化,包括垂直传播 \(acnI_m\)、潜伏媒介转化 \(\omega_m E_m\) 以及自然死亡 \(bI_m\)。
  • 人群部分
    • \(\frac{dS}{dt}\):易感人群因接触感染媒介而减少 \(\frac{\beta_{mp}S I_m}{N}\)。
    • \(\frac{dE}{dt}\):潜伏人群由易感人群感染转化 \(\frac{\beta_{mp}S I_m}{N}\),并考虑潜伏期结束转化 \(\omega E\)。
    • \(\frac{dI}{dt}\):有症状感染者由潜伏人群转化 \((1 - q)\omega E\),并考虑恢复 \(\gamma I\)。
    • \(\frac{dA}{dt}\):无症状感染者由潜伏人群转化 \(q\omega E\),并考虑康复 \(\gamma' A\)。
    • \(\frac{dR}{dt}\):康复者由有症状和无症状感染者康复而来 \(\gamma I + \gamma' A\)。

二、MATLAB 代码实现与细节

1. 数据与参数初始化

I_obs = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,...  1, 3, 1, 2, 1, 2, 1, 1, 2, 4, 3, 4, 2, 3, 3, 3, 4, 4, 4, 5, 5,...  6, 6, 7, 8, 12, 9, 10, 6, 12, 10, 14, 8, 16, 17, 19, 20, 22, 18,...  25, 26, 18, 29, 31, 20, 34, 35, 30, 40, 39, 40, 43, 41, 45, 41, 41,...  41, 40, 39, 38, 28, 35, 34, 32, 25, 28, 27, 25, 27, 21, 25, 17, 16,...  14, 8, 12, 10, 9, 8, 7, 6, 2, 5, 4, 4, 3, 6, 2, 2, 2, 3, 1, 1, 1,...  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...  0, 0, 0, 0];  
omega = 0.1667;     % 人相对潜伏率  
omega_m = 0.1000;   % 媒介相对潜伏率  
q = 0.6875;         % 无症状感染比例  
gamma = 0.1429;     % 有症状感染者恢复率  
gamma_1 = 0.1429;   % 无症状感染者康复速率  
a = 0.0714;         % 媒介自然出生率  
n = 0.9000;         % 垂直传播率  
b = 0.0714;         % 媒介自然死亡率  
N = 5000;           % 人群总数  
N_m = 10000;        % 媒介总数  
S_m0 = 9990;        % 易感媒介初始值  
E_m0 = 7;           % 潜伏媒介初始值  
I_m0 = 3;           % 感染媒介初始值  
S0 = 4992;          % 易感人群初始值  
E0 = 5;             % 潜伏人群初始值  
I0 = 1;             % 有症状感染人群初始值  
A0 = 2;             % 无症状感染人群初始值  
R0 = 0;             % 恢复人群初始值  
X0 = 1;  
initial_state = [S_m0; E_m0; I_m0; S0; E0; I0; A0; R0; X0];  
t = linspace(0, 140, 141);  

代码首先定义实际病例数据 \(I_{obs}\),设置固定参数(如潜伏率、传播率、死亡率等),并初始化各仓室的初始值和时间范围。

2. 参数拟合与模型求解

options = optimoptions('lsqcurvefit', 'Display', 'iter');  
x0 = [0.0005, 0.0005]; % 初始猜测值[beta_mp, beta_pm]  
[params_opt,resnorm] = lsqcurvefit(@model_wrapper, x0, t, I_obs,...  [0,0], [1,1], options,...  initial_state, omega, omega_m, q, gamma, gamma_1, a, n, b, N, N_m);  
fprintf('最优参数:\nbeta_mp = %.4f\nbeta_pm = %.4f\n', params_opt(1), params_opt(2));  
[~, Y] = ode45(@(t,Y) SEI_SEIAR_model(t,Y,params_opt(1),params_opt(2),...  omega, omega_m, q, gamma, gamma_1, a, n, b, N, N_m), t, initial_state);  

使用 lsqcurvefit 进行参数拟合,寻找最优的人群 - 媒介传播系数 \(\beta_{mp}\) 和媒介 - 人群传播系数 \(\beta_{pm}\)。通过迭代优化,使模型预测与实际病例数据匹配。然后使用最优参数求解微分方程,得到各仓室随时间的变化。

3. 结果可视化

dX = diff(Y(:,9)); % X是累计病例,取差分得到每日新增  
simulated_cases = [Y(1,9); dX];  
figure  
bar(t, I_obs, 'DisplayName', '实际病例'); hold on;  
plot(t, simulated_cases, 'r-', 'LineWidth', 2, 'DisplayName', '拟合结果');  
xlabel('时间 (天)'); ylabel('每日新增病例');  
title('SEI - SEIAR模型拟合结果');  
legend; hold off;  

计算每日新增病例(通过累计病例差分),并绘制实际病例与拟合结果的对比图,直观展示模型的拟合效果。

 

三、结果分析与模型应用

从可视化结果可以看出,模型拟合曲线与实际病例数据大致吻合,表明 SEI - SEIAR 模型能够有效捕捉传染病在人群和媒介间的传播特征。最优参数 \(\beta_{mp}\) 和 \(\beta_{pm}\) 量化了双向传播的强度,为评估防控措施(如媒介消杀、人群隔离)提供了数据支持。

该模型的应用前景广泛:

  • 疫情预测:基于历史数据拟合参数,预测未来疫情走势,为医疗资源调配提供依据。
  • 策略评估:模拟不同干预措施对传播系数的影响,优化防控策略。
  • 机制研究:分析媒介与人群的交互作用,揭示传染病传播的关键环节。

四、总结

本文通过 MATLAB 实现了 SEI - SEIAR 模型的参数拟合与动态模拟,结合图中的微分方程,深入解析了传染病在人群和媒介间的传播动态。模型的精准拟合为传染病防控提供了有力的工具,未来可进一步扩展模型,纳入更多实际因素(如疫苗接种、环境变化),提升其预测和分析能力。通过这样的研究,我们能更好地理解传染病传播机制,为保障公众健康和制定科学防控策略奠定坚实基础。

 完整代码(省流版)

function SEI_SEIAR_Model_Fitting()% 原始数据
I_obs = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,...1, 3, 1, 2, 1, 2, 1, 1, 2, 4, 3, 4, 2, 3, 3, 3, 4, 4, 4, 5, 5,...6, 6, 7, 8, 12, 9, 10, 6, 12, 10, 14, 8, 16, 17, 19, 20, 22, 18,...25, 26, 18, 29, 31, 20, 34, 35, 30, 40, 39, 40, 43, 41, 45, 41, 41,...41, 40, 39, 38, 28, 35, 34, 32, 25, 28, 27, 25, 27, 21, 25, 17, 16,...14, 8, 12, 10, 9, 8, 7, 6, 2, 5, 4, 4, 3, 6, 2, 2, 2, 3, 1, 1, 1,...1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,...0, 0, 0, 0];% 固定参数设置
omega = 0.1667;     % 人相对潜伏率
omega_m = 0.1000;   % 媒介相对潜伏率
q = 0.6875;         % 无症状感染比例
gamma = 0.1429;     % 有症状感染者恢复率
gamma_1 = 0.1429;   % 无症状感染者康复速率
a = 0.0714;         % 媒介自然出生率
n = 0.9000;         % 垂直传播率
b = 0.0714;         % 媒介自然死亡率
N = 5000;           % 人群总数
N_m = 10000;        % 媒介总数% 初始条件
S_m0 = 9990;        % 易感媒介初始值
E_m0 = 7;           % 潜伏媒介初始值
I_m0 = 3;           % 感染媒介初始值
S0 = 4992;          % 易感人群初始值
E0 = 5;             % 潜伏人群初始值
I0 = 1;             % 有症状感染人群初始值
A0 = 2;             % 无症状感染人群初始值
R0 = 0;             % 恢复人群初始值
X0 = 1;
initial_state = [S_m0; E_m0; I_m0; S0; E0; I0; A0; R0; X0];% 时间向量
t = linspace(0, 140, 141);% 参数拟合设置
options = optimoptions('lsqcurvefit', 'Display', 'iter');
x0 = [0.0005, 0.0005]; % 初始猜测值[beta_mp, beta_pm]% 执行参数拟合
[params_opt,resnorm] = lsqcurvefit(@model_wrapper, x0, t, I_obs,...[0,0], [1,1], options,...initial_state, omega, omega_m, q, gamma, gamma_1, a, n, b, N, N_m);% 显示优化结果
fprintf('最优参数:\nbeta_mp = %.4f\nbeta_pm = %.4f\n', params_opt(1), params_opt(2));% 使用最优参数求解模型
[~, Y] = ode45(@(t,Y) SEI_SEIAR_model(t,Y,params_opt(1),params_opt(2),...omega, omega_m, q, gamma, gamma_1, a, n, b, N, N_m), t, initial_state);% 计算每日新发病例
dX = diff(Y(:,9)); % X是累计病例,取差分得到每日新增
simulated_cases = [Y(1,9); dX];% 可视化结果
figure
bar(t, I_obs, 'DisplayName', '实际病例'); hold on;
plot(t, simulated_cases, 'r-', 'LineWidth', 2, 'DisplayName', '拟合结果');
xlabel('时间 (天)'); ylabel('每日新增病例');
title('SEI-SEIAR模型拟合结果');
legend; hold off;end%% 模型包装函数(用于参数拟合)
function y_pred = model_wrapper(params, t, initial_state, omega, omega_m, q,...gamma, gamma_1, a, n, b, N, N_m)beta_mp = params(1);
beta_pm = params(2);% 求解ODE
[~, Y] = ode45(@(t,Y) SEI_SEIAR_model(t,Y,beta_mp,beta_pm,omega,omega_m,q,...gamma, gamma_1, a, n, b, N, N_m), t, initial_state);% 计算每日新增病例
dX = diff(Y(:,9));
y_pred = [Y(1,9); dX]; % 保证长度一致end%% 核心微分方程模型
function dYdt = SEI_SEIAR_model(t, Y, beta_mp, beta_pm, omega, omega_m, q,...gamma, gamma_1, a, n, b, N, N_m)% 解包变量
S_m = Y(1);  E_m = Y(2);  I_m = Y(3);
S = Y(4);    E = Y(5);    I = Y(6);
A = Y(7);    R = Y(8);    X = Y(9);% 季节性调整参数
T_period = 365;    % 季节性周期
T_shift = 76;      % 相位偏移
c = 0.5*(cos(2*pi*(t - T_shift)/T_period) + 0.5;% 媒介部分
dS_m = a*c*(N_m - n*I_m) - beta_pm*S_m*(I + A)/N - b*S_m;
dE_m = beta_pm*S_m*(I + A)/N - omega_m*E_m - b*E_m;
dI_m = a*c*n*I_m + omega_m*E_m - b*I_m;% 人群部分
dS = -beta_mp*S*I_m/N;
dE = beta_mp*S*I_m/N - omega*E;
dI = (1-q)*omega*E - gamma*I;
dA = q*omega*E - gamma_1*A;
dR = gamma*I + gamma_1*A;
dX = (1-q)*omega*E;% 合并导数
dYdt = [dS_m; dE_m; dI_m; dS; dE; dI; dA; dR; dX];end

相关文章:

手搓传染病模型(SEI - SEIAR )

在传染病防控的前沿研究中,构建精准的数学模型对于理解疾病传播机制、预测疫情走势以及制定有效干预策略至关重要。SEI - SEIAR 模型(易感媒介 \(S_m\) - 潜伏媒介 \(E_m\) - 感染媒介 \(I_m\) - 易感人群 S - 潜伏人群 E - 有症状感染者 I - 无症状感染…...

Ubuntu 安装 Redis

1. 下载 redis 下载地址:https://github.com/redis/redis 2. 解压 redis 把下载的软件包,上传到服务器的 /usr/local 目录中,执行解压命令 tar -zxvf redis-8.0.1.tar.gz 3. 安装 redis 安装依赖 sudo apt-get updatesudo apt-get ins…...

【QGIS二次开发】地图显示与交互-03

系列目录: 【QGIS二次开发】地图显示与交互-01_qgis二次开发加载地图案例-CSDN博客 【QGIS二次开发】地图显示与交互-02_setlayerlabeling-CSDN博客 3. 地图符号与色表 3.1 矢量图层符号设置 任务要求:双击图层树节点,实现图层中图元的符…...

28、动画魔法圣典:Framer Motion 时空奥义全解——React 19 交互动效

"在数字世界的夹缝中&#xff0c;存在着连接现实与虚拟的魔法纽带——这便是 Framer Motion 的时空秘术。" ——《前端魔法师手札卷七》 一、时空裂隙动画 - FLIP量子跃迁术 1. FLIP时空扭曲原理 <motion.divlayout // 开启时空裂隙transition{{type: "spr…...

Ken Thompson 和 Dennis Ritchie

Ken Thompson&#xff08;肯汤普逊&#xff09;和Dennis Ritchie&#xff08;丹尼斯里奇&#xff09;是计算机科学领域的两位传奇人物&#xff0c;他们对现代计算机技术的发展产生了深远影响。以下是关于他们的详细介绍&#xff1a; 1. ​​Ken Thompson​​ ​​出生​​&am…...

SQL:MySQL函数:条件函数(Conditional Functions)

目录 什么是条件函数&#xff1f; 常用 MySQL 条件函数总览表 1️⃣ IF() – 条件判断函数&#xff08;If Statement&#xff09; 2️⃣ IFNULL() – 空值判断与替代函数&#xff08;If Null&#xff09; 3️⃣ NULLIF() – 相等返回 NULL&#xff08;Null If Equal&#…...

初识Linux · IP分片

目录 前言&#xff1a; IP分片 分片vs不分片 如何分片 分片举例 三个字段 前言&#xff1a; 前文IP协议上和IP协议下我们已经把IP协议的报头的大多数字段介绍了&#xff0c;唯独有三个字段现在还有介绍&#xff0c;即16位标识&#xff0c;8位协议&#xff0c;13位片偏移…...

TCP 粘包

一、粘包问题详解 1. 粘包的概念 定义&#xff1a; 指在 TCP 通信中&#xff0c;由于发送方和接收方的读写速度、数据量不一致&#xff0c;导致多个数据包被错误地合并成一个数据包处理的现象。产生原因&#xff1a; TCP 是流式协议&#xff08;无边界&#xff09;&#xff0…...

第一个优化

agent项目 tool 调用外部服务时 选择了指数回避的重试机制 优化点&#xff1a;延迟时间那 加了一个随机的时间抖动 指数回避 我第一眼看到 这不就是 tcp重连机制吗 其实就是 如果当时网络波动 网况不好 || 服务正忙 &#xff0c;可以不急着在这个时候选择多次重试&#xff0c…...

LabVIEW的CAN通讯测试程序

该程序是基于 NI LabVIEW 平台开发的 CAN&#xff08;Controller Area Network&#xff0c;控制器局域网&#xff09;通讯测试程序。主要功能是对 CAN 通讯过程进行模拟、数据传输与验证&#xff0c;确保 CAN 通讯的正常运行和数据的准确传输。 程序详细说明 接口选择&#xff…...

视频质量分析时,遇到不同分辨率的对照视频和源视频,分辨率对齐的正确顺序。

背景 我们平时在做视频转码后&#xff0c;会用VMAF/PSNR得评分工具进行视频对比的评分&#xff0c;但是这几种客观评分方式都有一个要求就是分辨率要一模一样&#xff0c;因为这样才对像素点做数学运算。 但是分辨率对齐其实有两种选择&#xff0c;例如源视频是1080P&#xf…...

Kotlin并发请求的一些知识记录

private suspend fun fetchDataConcurrently(list: MutableList<MyType>,onRequestResult: (Int, List<MyType>?) -> Unit //高阶函数回调) {val deferredList mutableListOf<Deferred<MyType?>>()// 设定任务超时时间为12秒&#xff0c;并使用 …...

Ubuntu 编译SRS和ZLMediaKit用于视频推拉流

SRS实现视频的rtmp webrtc推流 ZLMediaKit编译生成MediaServer实现rtsp推流 SRS指定某个固定网卡&#xff0c;修改程序后重新编译 打开SRS-4.0.0/trunk/src/app/srs_app_rtc_server.cpp&#xff0c;在 232 行后面添加&#xff1a; ZLMediaKit编译后文件存放在ZLMediakit/rele…...

typora免费获取序列号

这个方法不是唯一&#xff0c;但是所需要的时长很短。废话不多说 1.下载网盘文件 通过网盘分享的文件&#xff1a;typora破解 链接: https://pan.baidu.com/s/1KQnSUV3V0uBGpLc_iz2UFQ?pwdetc4 提取码: etc4 2.把解压下来的文件放到装软件的文件夹 3. 打开cmd&#xff0c;…...

C++23 新增的查找算法详解:ranges::find_last 系列函数

文章目录 引言C Ranges 库简介ranges::find_last、ranges::find_last_if 和 ranges::find_last_if_not 概述ranges::find_last示例代码代码解释 ranges::find_last_if函数签名参数解释示例代码代码解释 ranges::find_last_if_not示例代码代码解释 使用场景总结 引言 在 C 的发…...

11.基础IO(上)

一、文件概念 对文件归类认知&#xff1a; 对于 0KB 的空文件是占用磁盘空间的 文件是文件属性&#xff08;元数据&#xff09;和文件内容的集合&#xff08;文件 属性&#xff08;元数据&#xff09; 内容&#xff09; 所有的文件操作本质是文件内容操作和文件属性操作。 …...

本地部署Firecrawl+Dify调用踩坑记录

最近自己研究Dify&#xff0c;使用到Firecrawl这个比较好用的工具。用Firecrawl官网的不知道为什么总是卡住得不到结果&#xff0c;于是我打算自己去本地部署一个。好家伙真给我人搞麻了&#xff0c;太多问题了。 我是在京东云上面租的一台服务器。 首先就是docker的安装&…...

硬盘坏了电脑会出现哪些明显现象?机械和固态可不一样

机械硬盘&#xff08;HDD&#xff09;损坏的常见表现 >启动异常&#xff1a;如果是启动盘&#xff0c;可能会遭遇系统无法启动&#xff0c;提示“No Bootable Device”“Operating System not found”或“Sector not found”等错误&#xff1b;以及BIOS无法识别硬盘&#x…...

数据驱动下的具身智能进化范式

数据驱动技术与挑战...

使用Python与正则表达式高效提取Excel中的票号数据

使用Python与正则表达式高效提取Excel中的票号数据 一、需求 本文将介绍如何利用Python的Pandas库和正则表达式&#xff0c;快速实现票号这一数据清洗任务&#xff0c;并将结果整理为规范的表格结构。 在数据处理场景中&#xff0c;从非结构化文本里提取特定格式的信息是常见…...

MySQL 迁移至 Doris 最佳实践方案

在数据架构不断演进的背景下&#xff0c;从 MySQL 迁移至 Doris 成为许多企业提升数据处理效率的关键选择。本文将深入剖析三种经过实践验证的 MySQL 迁移至 Doris 的最佳方案&#xff0c;涵盖全量迁移、增量同步、混合迁移以及基于 CDC&#xff08;Change Data Capture&#x…...

2025长三角杯数学建模A题思路模型代码:智能手机产品设计优化与定价问题

2025长三角杯数学建模A题思路模型代码&#xff0c;详细内容见文末名片 一、问题背景 在 2025 年第五届长三角高校数学建模竞赛中&#xff0c;赛题 A 聚焦于智能手机产品设计优化与定价这一极具现实意义的问题。如今的智能手机市场&#xff0c;可谓是一片硝烟弥漫的“战场”&a…...

【hadoop】Kafka 安装部署

一、Kafka安装与配置 步骤&#xff1a; 1、使用XFTP将Kafka安装包kafka_2.12-2.8.1.tgz发送到master机器的主目录。 2、解压安装包&#xff1a; tar -zxvf ~/kafka_2.12-2.8.1.tgz 3、修改文件夹的名字&#xff0c;将其改为kafka&#xff0c;或者创建软连接也可&#xff1…...

网络安全EN18031-1,EN18031-2,EN18031-3三个标准对应的测试项目

EN18031-1,EN18031-2,EN18031-3三个标准有什么区别 ‌EN18031-1、EN18031-2和EN18031-3三个标准分别针对不同的安全要求和应用场景&#xff0c;具体区别如下‌&#xff1a; ‌EN18031-1‌&#xff1a;主要关注网络安全防护&#xff0c;特别是防止DDoS攻击和确保安全通信协议的…...

React与Docker中的MySQL进行交互

完整结构 1. 项目结构设置 首先创建项目&#xff1a; npm create vitelatest . --template react cd . npm install2. 设置Docker中的MySQL 创建docker-compose.yml文件&#xff08;与之前相同&#xff09;&#xff1a; version: 3.8 services:mysql:image: mysql:8.0conta…...

量子隧穿:PROFINET到Ethernet ip的无损耗协议转换方案转

在本季度的生产工作中&#xff0c;我们成功实现了仓储物流自动化分拣系统中的关键技术突破。我们面临的主要挑战是将采用EtherNet/IP协议的输送带控制器与PROFINET协议的上位系统进行有效通信。通过引入ethernet IP转PROFINET网关倍讯科技BX-606-EIP&#xff0c;我们实现了输送…...

W1R3S: 1.0.1靶场

W1R3S: 1.0.1 来自 <W1R3S: 1.0.1 ~ VulnHub> 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶场IP192.168.23.249 3&#xff0c;对靶机进行端口…...

pycharm中qthread中的run函数debug不上的问题

先说结论 在风和日丽的一天&#xff0c;我尝试把我mac上的代码拿到windows修改。突然遇到了个bug&#xff0c;然后想着对几个线程内部的run函数逐一debug。 结果一开线程&#xff0c;整个线程仍然继续报错&#xff0c;run函数的第一行都不停断点。甚至&#xff0c;我加了个pr…...

深度解析IP静态的工作原理,IP静态的应用场景又哪些?

一、什么是IP静态&#xff1f; 当我们谈到“IP静态”时&#xff0c;大家可能首先想到的是与“动态IP”相对的概念。确实如此&#xff0c;静态IP是一种固定分配的IP地址&#xff0c;也就是说&#xff0c;在特定时间内&#xff0c;分配给你的IP地址不会有所更改——无论你完成多…...

Electron 应用的升级机制详解

在产品分发给用户之后,进入迭代周期是不可避免的过程。开发者需要为产品增加新功能、修复Bug,并推出新版本。如何将这些更新有效地分发给用户,是产品经理和开发人员共同关注的问题。本节将从开发者的角度出发,详细介绍Electron应用的两种常见升级方式:全量升级与增量升级。…...

Java 开源报表系统全解析:免费工具、企业案例与集成实践

在企业级数据可视化与报表开发中&#xff0c;选择一款功能强大且完全免费的开源报表系统至关重要。本文深度剖析 5 款经过权威验证的免费开源 Java 报表工具&#xff0c;涵盖图表展示、定制化及第三方集成能力&#xff0c;附企业级案例与技术实践&#xff0c;助您高效选型。 一…...

[原创](现代Delphi 12指南):[macOS 64bit App开发]: 注意“回车换行“的跨平台使用.

[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、…...

分类预测 | Matlab实现ABC-Transformer人工蜂群算法优化编码器多特征分类预测/故障诊断Matlab实现

分类预测 | Matlab实现ABC-Transformer人工蜂群算法优化编码器多特征分类预测/故障诊断Matlab实现 目录 分类预测 | Matlab实现ABC-Transformer人工蜂群算法优化编码器多特征分类预测/故障诊断Matlab实现分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现ABC-…...

Java中的设计模式

一、工厂方法模式 1.1 简单工厂模式 1.1.1 案例引入 比方说我们要设计一个披萨店的点单程序&#xff0c;披萨店有水果披萨&#xff0c;有芝士披萨&#xff0c;两种类型&#xff0c;选择哪个披萨&#xff0c;只需要创建那个类型的披萨对象即可。 package org.example;import…...

NSSCTF [GFCTF 2021]where_is_shell

889.[GFCTF 2021]where_is_shell(system($0)64位) [GFCTF 2021]where_is_shell (1) 1.准备 motalymotaly-VMware-Virtual-Platform:~$ file shell shell: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.s…...

有关知名分析品牌默克Supelco®的前世今生

因在仪器设备和实验室产品方面的卓越贡献&#xff0c;Supelco品牌的创立者Nicholas Pelick与Walter Supina获颁2019年匹兹堡文化遗产奖&#xff08;2019 Heritage Award&#xff09;&#xff0c;入选匹兹堡名人堂&#xff08;Pittcon Hall of Fame&#xff09;。 目前&#xff…...

钉钉数据与金蝶云星空的无缝集成解决方案

钉钉数据与金蝶云星空的无缝集成解决方案 钉钉数据集成到金蝶云星空的技术案例分享 在企业信息化建设中&#xff0c;数据的高效流动和准确对接是业务成功的关键。本文将分享一个具体的系统对接集成案例&#xff1a;如何通过transfer-新转账单&#xff08;银行转账&#xff09;…...

商业架构 2.0 时代:ZKmall开源商城前瞻性设计如何让 B2B2C 平台领先同行 10 年?

在数字化转型加速的今天&#xff0c;传统 B2B2C 平台面临用户体验割裂、数据孤岛严重、业务扩展困难等挑战。ZKmall 开源商城通过 “业务中台 数据中台 技术中台”的三位一体架构设计&#xff0c;结合“插件化扩展 分布式服务 智能决策”*三大核心能力&#xff0c;构建起具…...

Android开发-使用内容组件获取通讯信息

在Android开发中&#xff0c;访问和处理用户的通讯信息&#xff08;如联系人、通话记录等&#xff09;是一项常见的需求。通过使用Android的内容提供者&#xff08;ContentProvider&#xff09;&#xff0c;开发者可以方便地查询这些数据&#xff0c;并将其集成到自己的应用中。…...

Elasticsearch 分片机制高频面试题(含参考答案)

&#x1f9e0; Elasticsearch 分片机制高频面试题&#xff08;含参考答案&#xff09; 本篇聚焦 分片机制&#xff08;Shard&#xff09;&#xff0c;涵盖基础概念、实践经验、问题排查与场景设计&#xff0c;适合中高级开发工程师及架构师面试复习使用。 &#x1f4da; 目录 …...

从代码学习深度学习 - 风格迁移 PyTorch版

文章目录 前言方法 (Methodology)阅读内容和风格图像预处理和后处理抽取图像特征定义损失函数内容损失 (Content Loss)风格损失 (Style Loss)全变分损失 (Total Variation Loss)总损失函数初始化合成图像训练模型总结前言 大家好!欢迎来到我们的深度学习代码学习系列。今天,…...

模糊综合评价模型建立

模糊综合评价模型建立 一、整体流程 二、代码实现(含大量注释) #程序文件ex14_4.py import numpy as npa np.loadtxt(data14_4.txt) # 使用定义匿名函数的形式来定义各个评价指标的隶属函数 f1 lambda x: x/8800 f2 lambda x: 1-x/8000 f3 lambda x: (x<5.5)(8-x)/(8-…...

WooCommerce短代码Shortcodes使用方法

什么是简码? 你可能以前听说过这个词&#xff0c;但可能认为它只是一个技术概念&#xff0c;一般的WordPress用户不需要了解。 或者&#xff0c;也许你以前也用过一两个短码&#xff0c;但并不完全掌握它们在更深层次上是如何工作的。 无论怎样&#xff0c;如果你想释放WooC…...

讯联云库项目开发日志(二)AOP参数拦截

目录 利用AOP实现参数拦截: 一、​​HTTP请求进入Controller​&#xff08;发送邮件验证码&#xff09; 二、AOP切面触发 1. 切面拦截&#xff08;GlobalOperactionAspect.class&#xff09; method.getAnnotation()​​ null interceptor 判断​​ 2.参数校验注解 3. 参…...

自学嵌入式 day 18 - 数据结构 1

数据结构 相互之间存在一种或多种特定关系的数据元素的集合 1.特定关系&#xff1a; &#xff08;1&#xff09;逻辑结构&#xff1a; ①集合&#xff1a;所有在同一个集合中&#xff0c;关系平等。 ②线性关系&#xff1a;数据和数据之间是一对一的关系。&#xff08;数组…...

使用WebSocket实现跨多个服务器传输音频及实时语音识别

下面我的项目信息&#xff1a; 项目架构&#xff1a; A项目&#xff08;Websocket客户端 / React前端&#xff09; > B项目&#xff08;Websocket客户端 / Java后端&#xff09;》C项目&#xff08;Websocket服务端 / Node.js 后端&#xff09; 项目功能&#xff1a; A项目…...

C++ QT图片查看器

private:QList<QString> fs;int i;void MainWindow::on_btnSlt_clicked() {QStringList files QFileDialog::getOpenFileNames(this,"选择图片",".","Images(*.png *.jpg *.bmp)");qDebug()<<files;ui->picList->clear();ui-…...

从AlphaGo到ChatGPT:AI技术如何一步步改变世界?

从AlphaGo到ChatGPT&#xff1a;AI技术如何一步步改变世界&#xff1f; 这里给大家分享一个人工智能学习网站。点击跳转到网站。 https://www.captainbed.cn/ccc 前言 在科技发展的历史长河中&#xff0c;人工智能&#xff08;AI&#xff09;技术无疑是最为璀璨的明珠之一。从…...

跨系统数据烟囱如何破局?豪森智源HSMES重构制造协同新范式‌

‌行业困局&#xff1a;万亿级数据资产沉睡在孤岛中‌ IDC最新报告显示&#xff0c;中国86%的制造企业存在5套以上独立信息系统&#xff0c;设备联网率不足42%的工厂每年因数据断点损失超千万利润。某新能源龙头企业CTO坦言&#xff1a;"ERP、MES、WMS系统各自为政&#…...

MySQL DBA数据运维管理经验分享:新手入门快速提升效率的新工具与技巧

MySQL DBA数据运维管理经验分享:新手入门快速提升效率的新工具与技巧 前言 作为一名数据库管理员(DBA),MySQL的运维管理是我们日常工作的核心。随着技术的不断发展,MySQL运维工具和最佳实践也在不断演进。本文将分享一些实用的MySQL DBA运维经验,并对比分析当前流行的运维…...