✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
🍎 往期回顾关注个人主页:
Matlab科研工作室
👇 关注我领取海量matlab电子书和数学建模资料
🍊个人信条:格物致知,
完整Matlab代码获取
及仿真咨询内容私信。
🔥
内容介绍
任务是构建一个
连续时间数学模型
,用于描述智能手机电池在实际使用场景下的
荷电状态
随时间的变化规律。该模型将被用于预测不同条件下电池的
剩余使用时间
,建模过程中默认手机搭载锂离子电池。
1 连续时间模型构建
构建通过连续时间方程或方程组表征电池荷电状态的模型。你可先从对电池耗电过程最简洁且合理的描述入手,再逐步拓展模型,纳入屏幕使用、处理器负载、网络连接、GPS 使用及其他后台运行任务等额外影响因素。
数据的辅助作用(非替代作用)
你可收集或使用相关数据开展参数估计与模型验证工作。若公开数据集有限,可引用已发表的实测数据或技术规格(需合理标注引用来源),但相关参数需明确论证其合理性并验证其可信度。
仅通过离散曲线拟合、时间步回归或黑箱机器学习方法构建模型,未设计显式连续时间模型的方案,均不符合本题要求
。所有使用的数据均需详细记录相关信息,且为基于开源许可的免费可用数据。
2 剩余使用时间预测
利用所建模型,计算或估算电池在
不同初始荷电状态
与
使用场景
下的剩余使用时间。将模型预测结果与实际观测结果或合理的电池表现进行对比,
量化预测的不确定性
,并明确模型的优劣适用场景。
说明模型如何解释上述预测结果的差异,并定位各场景下电池快速耗电的具体诱因。
分析哪些使用行为或环境条件会导致电池续航大幅缩短?哪些因素对模型预测结果的影响却微乎其微?
3 敏感性分析与假设验证
分析当
建模假设
、
参数取值
及
使用模式发生随机波动
时,模型的预测结果会产生何种变化。
4 建议与对策
将模型的研究结论转化为面向手机用户的实用建议。例如,哪些用户操作(如调低屏幕亮度、关闭后台程序、切换网络模式)能最显著地提升电池续航能力?手机操作系统如何基于模型的研究结论,设计并实现更高效的节电策略?同时需考量
电池老化
导致电池有效容量衰减的问题,并探究该建模框架向其他便携式设备推广应用的可行性。
报告撰写要求
你的报告需清晰呈现以下内容:
所建模型及控制方程的详细说明
模型设计选择背后的假设前提与推理依据
参数估计的方法及模型验证的结果
对模型优势、局限性及潜在拓展方向的分析探讨
一份执行摘要,重点提炼核心研究结果、关键洞察与相关建议
重要要求
模型的构建必须基于
明确的物理或力学推理
;仅采用离散曲线拟合,或其他与电池行为的
显式连续时间描述相脱节
的数学形式构建模型,均不符合本题要求。若研究仅依赖离散曲线拟合或统计回归方法,未构建
形式明确的连续时间模型
,同样不满足本题的要求。
提交文件要求
你提交的 PDF 解决方案
总页数不得超过 25 页
,且需包含以下内容:
一页式摘要页
目录
完整的解题方案
文内引用标注及参考文献列表
人工智能使用报告(若研究中使用了人工智能工具,该报告
不计入
25 页的页数限制)
注意事项
美国大学生数学建模竞赛的完整提交材料
无规定的最低页数要求
。你可使用最多 25 页的篇幅呈现全部解题内容,以及所有想要补充的信息(如示意图、图表、计算过程、数据表等)。本次竞赛
接受部分解答
的提交。
我们允许参赛者
审慎使用
ChatGPT 等人工智能工具,并非解决本题的必需手段。若你选择使用生成式人工智能工具,必须严格遵守美国数学与应用联合会(COMAP)的人工智能使用政策,且需额外撰写一份人工智能使用报告,将其附在 PDF 解决方案文件的末尾,该报告
不计入
解决方案 25 页的总页数限制。
核心思路、方法模型与实施步骤
核心思路
基于锂离子电池放电物理规律,构建
显式连续时间数学模型
表征SOC随时间的变化,纳入多维度耗电影响因素,通过数据完成参数估计与验证后,预测不同场景下的电池剩余使用时间,分析耗电关键驱动因素与模型敏感性,最终转化为用户端和系统端的实用节电建议。
方法模型
核心模型:
连续时间微分方程/方程组
(唯一符合要求的核心形式,拒绝纯离散拟合、黑箱ML),先建单因素基础模型,再拓展多因素耦合模型;
辅助方法:开源数据/公开规格的参数估计法、模型验证法(对比实测/合理行为)、不确定性量化法、敏感性分析法(假设/参数/使用模式);
分析方法:多场景TTE对比法、耗电驱动因素归因分析法。
具体实施步骤
物理建模:明确SOC与功耗的核心物理关系,建立SOC随时间变化的
基础连续时间微分方程
;
模型拓展:识别屏幕、处理器、网络等核心耗电因素,量化各因素的功耗贡献,融入基础模型形成
多因素耦合连续时间模型
;
参数与验证:收集开源数据/公开实测规格,完成模型参数估计,验证模型合理性并量化预测不确定性;
TTE预测与分析:代入不同初始SOC和使用场景,计算TTE,对比预测结果,定位各场景快速耗电的具体驱动因素,分析各因素对续航的影响程度;
敏感性分析:调整建模假设、参数取值、使用模式,分析其对模型预测结果的影响;
结论转化:基于模型结论,提出用户端节电行为建议和操作系统端节电策略设计思路,探讨模型向其他便携设备的拓展性;
报告撰写:按要求完成不超过25页的PDF报告,含摘要页、目录等核心模块,若使用AI则附加不计入页数的AI使用报告。
⛳️ 运行结果
📣 部分代码
%带初始权值的ELM-AE
function[output,B,Hnew]=ELM_AEWithInitial(InputW,X,ActivF,number_neurons)
% ELM-AE:the function create an auto-encoder based ELM.
% number_neurons:number of neurons in hidden layer.
% X: the training set.
% prefomance: RMSE of training.
alpha=size(X);
% 1:generate a random input weights
% input_weights=rand(number_neurons,alpha(2))*2-1;
input_weights = InputW;%输入初始权重
% 2:calculating the hidden layer
tempH=input_weightsX';
% activation function
switch lower(ActivF)
case {'sig','sigmoid'}
%%%%%%%% Sigmoid
H = 1 ./ (1 + exp(-tempH));
case {'sin','sine'}
%%%%%%%% Sine
H = sin(tempH);
case {'hardlim'}
%%%%%%%% Hard Limit
H = double(hardlim(tempH));
case {'tribas'}
%%%%%%%% Triangular basis function
H = tribas(tempH);
case {'radbas'}
%%%%%%%% Radial basis function
H = radbas(tempH);
%%%%%%%% More activation functions can be added here
end
% 3: calculate the output weights beta
H(isnan(H)) = 0;
H(isinf(H)) = 0;
B=pinv(H') X ; %Moore-Penrose pseudoinverse of matrix
% calculate the output : Unlike other networks the AEs uses the same weight
% beta as an input weigth for coding and output weights for decoding
% we will no longer use the old input weights:input_weights.
Hnew=XB';
output=Hnewpinv(B');
% 4:calculate the prefomance
prefomance=sqrt(mse(X-output));
end