✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
为了降低电池特征参数获取难度,提高电池健康状态(state of health,SOH)预测精度,保障电动汽车安全行驶,针对电池使用过程中内部参数变化复杂难以测量及BP神经网络容易陷入局部最小值等问题,提出了一种基于电池外特征的灰狼神经网络SOH预测方法.将电池的外特征参数电压与温度作为输入,在BP网络的架构中引入灰狼算法对网络的权值与阈值进行优化,从而增强网络的全局寻优能力.在MATLAB 2018上进行仿真验证,实验结果表明,本方法比传统的BP网络适用性更好,精度更高,绝对误差在1. 6%以内,相对误差在2. 4%以内,具有更广的应用前景.
⛄ 部分代码
%___________________________________________________________________%
% Grey Wolf Optimizer (GWO) source codes version 1.0 %
% %
% Developed in MATLAB R2011b(7.13) %
% %
% Author and programmer: Seyedali Mirjalili %
% %
% e-Mail: ali.mirjalili@gmail.com %
% seyedali.mirjalili@griffithuni.edu.au %
% %
% Homepage: http://www.alimirjalili.com %
% %
% Main paper: S. Mirjalili, S. M. Mirjalili, A. Lewis %
% Grey Wolf Optimizer, Advances in Engineering %
% Software , in press, %
% DOI: 10.1016/j.advengsoft.2013.12.007 %
% %
%___________________________________________________________________%
% This function initialize the first population of search agents
function Positions=initialization(SearchAgents_no,dim,ub,lb)
Boundary_no= size(ub,2); % numnber of boundaries
% If the boundaries of all variables are equal and user enter a signle
% number for both ub and lb
if Boundary_no==1
Positions=rand(SearchAgents_no,dim).*(ub-lb)+lb;
end
% If each variable has a different lb and ub
if Boundary_no>1
for i=1:dim
ub_i=ub(i);
lb_i=lb(i);
Positions(:,i)=rand(SearchAgents_no,1).*(ub_i-lb_i)+lb_i;
end
end
⛄ 运行结果
⛄ 参考文献
[1] 郑永飞, 文怀兴, 韩昉,等. 基于电池外特征的粒子群神经网络电池健康状态预测[J]. 科学技术与工程, 2019, 19(36):6.
[2] 魏新尧, 佘世刚, 容伟,等. 基于布谷鸟算法优化BP神经网络的锂电池健康状态预测[J]. 计算机测量与控制, 2021, 029(004):65-69,75.
[3] 冯楠, 王振臣, 胖莹. 基于遗传算法和BP神经网络的电池容量预测[J]. 电源技术, 2011, 35(12):3.
⛳️ 代码获取关注我
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料