锂电池SOH估计 | Matlab实现基于ALO-SVR模型的锂电池SOH估计

目录

      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

在这里插入图片描述

基本介绍

锂电池SOH估计 | Matlab实现基于ALO-SVR模型的锂电池SOH估计
蚁狮优化支持向量机锂电池健康状态SOH估计;
具体流程如下;
1、分析锂离子电池老化数据集,从中选取具有代表电池性能衰减的间接特征作为SOH估计模型的输入,实际SOH作为输出;
2、选取约前60%数据作为模型的训练样本,对模型进行训练,剩余样本作为测试样本,从而得到了不同算法的SOH估计值。

程序设计

  • 完整程序和数据获取方式:私信博主回复Matlab实现基于ALO-SVR模型的锂电池SOH估计
%% 绘制线性拟合图
%% 训练集拟合效果图
figure
plot(T_train,T_sim1,'OR');
xlabel('真实值')
ylabel('预测值')
string = {'训练集效果图';['R^2_c=' num2str(R1)  '  RMSEC=' num2str(error1) ]};
title(string)
hold on ;h=lsline;
set(h,'LineWidth',1,'LineStyle','-','Color',[1 0 1])
%% 预测集拟合效果图
figure
plot(T_test,T_sim2,'ob');
xlabel('真实值')
ylabel('预测值')
string1 = {'测试集效果图';['R^2_p=' num2str(R2)  '  RMSEP=' num2str(error2) ]};
title(string1)
hold on ;h=lsline();
set(h,'LineWidth',1,'LineStyle','-','Color',[1 0 1])
%% 求平均
R3=(R1+R2)./2;
error3=(error1+error2)./2;
%% 总数据线性预测拟合图
tsim=[T_sim1,T_sim2]';
S=[T_train,T_test]';
figure
plot(S,tsim,'ob');
xlabel('真实值')
ylabel('预测值')
string1 = {'所有样本拟合预测图';['R^2_p=' num2str(R3)  '  RMSEP=' num2str(error3) ]};
title(string1)
hold on ;h=lsline();
set(h,'LineWidth',1,'LineStyle','-','Color',[1 0 1])
%% 打印出评价指标
disp(['-----------------------误差计算--------------------------'])
disp(['评价结果如下所示:'])
disp(['平均绝对误差MAE为:',num2str(MAE2)])
disp(['均方误差MSE为:       ',num2str(mse2)])
disp(['均方根误差RMSEP为:  ',num2str(error2)])
disp(['决定系数R^2为:  ',num2str(R2)])
disp(['剩余预测残差RPD为:  ',num2str(RPD2)])
disp(['平均绝对百分比误差MAPE为:  ',num2str(MAPE2)])
grid

参考资料

[1] http://t.csdn.cn/pCWSp
[2] https://download.csdn.net/download/kjm13182345320/87568090?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/kjm13182345320/article/details/129433463?spm=1001.2014.3001.5501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/7092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dumpsys meminfo 流程中细节

源码基于:Android U 参考: dumpsys meminfo 详解(R) dumpsys meminfo 详解(U) 1. 命令入口 MemBinder frameworks/base/services/core/java/com/android/server/am/AMS.javastatic class MemBinder extends Binder {ActivityManagerService mActivity…

vue实现复制功能详解(使用v-clipboard)

目录 1 前言2 使用2.1 安装2.2 使用2.2.1复制静态的值2.2.2复制动态的变量2.2.3 在方法中使用2.2.4 复制成功失败事件 1 前言 v-clipboard 是一个与 Vue.js 相关的指令或功能,它通常与剪贴板操作结合使用。在 Vue.js 中,v-clipboard 可以用于将文本或其…

python 中如何匹配字符串

python 中如何匹配字符串? 1. re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 import re line"this hdr-biz 123 model server 456" patternr"123" matchObj re.matc…

一键安装Halo DB

说明 这里说的一键其实分了好几步,是我将安装步骤分解。你可以把它们放在一个shell中或者串起来就是一键了。 易景科技的数据库 羲和 (Halo DB) 我之前的一位朋友(章晨曦)创立的数据库公司。以前看他朋友圈说他做数…

私域流量引流方式有哪些?

私域流量引流的方法无非是营销渠道投放、各平台KOL投放、自有自媒体平台账号内容引流、线下引流、老客户转介绍裂变等几个方面,下面对各种不同方法进行简单介绍。 1、营销渠道投放:选择广点通、粉丝通、某些app的信息流和dou等大平台自带的推广渠道工具…

音频文件分析-- whisper(python 文档解析提取)

使用whisper转文本,这里使用的是large-v3版本 pip install githttps://github.com/openai/whisper.git import whisper import os from tqdm import tqdmmodel whisper.load_model("large-v3")path "rag_data" for fi in tqdm(os.listdir(pa…

npy文件如何追加数据?

.npy 文件是 NumPy 库用于存储数组数据的二进制格式,它包含一个描述数组结构的头部信息和实际的数据部分。直接追加数据到现有的 .npy 文件并不像文本文件那样直接,因为需要手动修改文件头部以反映新增数据后的数组尺寸,并且要确保数据正确地…

创新指南|非凡时代的变革型领导力——五个领导力差异化优势将使高管能够重塑他们的组织

大多数商界领袖现在都明白,我们正在经历一场“伟大的重构”,整个行业、经济和社会都在重塑的时期。然而,考虑到他们面临的短期压力,很少有高管发现自己能够真正应对这些变化,这些变化对他们的组织所需的转型意味着什么…

智能BI产品设计

BI概念 目录 BI概念 一:与BI相关的几个重要概念 二:数据仓库 VS 数据库 BI架构 一:数据分析通用流程 二:BI平台基本架构 可视化图形 一:如何选择可视化图形 二:数据展示形式 三:数据…

JAVA学习14——异常

目录 异常: 1.异常基本介绍: 2.异常体系图: 3.五大运行时异常: (1)NullPointerException空指针异常: (2)AirthmetiException数字运算异常: &#xff0…

javaweb学习week7

javaweb学习 十四.Springboot 1.配置优先级 Springboot中支持三种格式的配置文件: 注意:虽然Springboot支持多种格式配置文件,但是在项目开发时,推荐使用一种格式的配置(yml是主流) Springboot除了支持…

报道|2024 INFORMS TSL-美团数据驱动研究竞赛

编者按 首届INFORMS 交通科学与物流(Transportation Science & Logistics,TSL)数据驱动研究竞赛与美团联合举行。 在第一届INFORMS TSL数据驱动研究挑战中,TSL和美团合作为全球研究人员和从业人员提供对美团运营级别的外卖配送…

C++:反向迭代器reverse_iterator

反向迭代器是C STL(标准模板库)中的一种迭代器类型,它允许我们逆向遍历容器(如std::vector, std::list, std::deque等)中的元素。反向迭代器指向容器的“尾部”元素,并通过递减操作向前移动(即向…

Vscode 总是发现不到包package

Vscode 右下角,选择3.8.6就不再报错,其他最新版本的3.11.7就不行。

【设计模式】创建者模式之 工厂方法 抽象工厂

工厂方法模式(Factory Method) 一个特定功能,往往有多种实现方式,但是很难有某一个实现可以适用于所有情况,因此往往需要根据特定的场景选择不同的实现。试想:把选择具体实现的代码放在业务中会发生什么?每当我们需要…

C++中lambda表达式的使用及注意事项

在C中一共有四种可调用对象,分别是函数,函数指针,仿函数,和lambda表达式,本文将从lambda表达式的定义形式开始,到lambda表达式的使用场景,向你讲述lambda的使用及注意事项。 lambda表达式的定义…

Java中的ThreadLocal为什么使用弱引用

ThreadLocal中为什么使用弱引用 补个概念: ThreadLocalMap中的key就是Entry,Entry是一个弱引用,关联了当前ThreadLocal对象。需要存储的数据为值。调用set方法要传入两个参数ThreadLocal对象和要存入ThreadLocal对象的数据。 如下图&#xf…

详细分析Java中的@AllArgsConstructor注解

目录 前言1. 基本知识2. 实战 前言 事情起因是Spring的循环依赖 详情可见:出现The dependencies of some of the beans in the application context form a cycle 解决方法(全) 1. 基本知识 AllArgsConstructor 是 Lombok 提供的一个注解…

《第一行代码》第二版学习笔记(9)——服务

文章目录 一、线程二、解决异步消息处理机制1、消息组成2、AsyncTask 三、Service1、启动和停止服务2、活动和服务通信3、服务的生命周期4、创建前台服务5、使用IntentService 四、服务的最佳实践 一、线程 android不允许在子线程中更新IU操作 二、解决异步消息处理机制 1、…

【linux软件基础知识】- struct gendisk

在Linux内核中,struct gendisk代表通用块设备。 它是用于管理和表示块设备的基本数据结构,例如硬盘驱动器、固态驱动器和其他存储设备。 struct gendisk 包含各种字段和指针,提供与块设备相关的信息和操作。 struct gendisk 结构的一些重要字…