【Matlab循环读取牛津电池老化数据集,并根据论文提取相应特征】

@[Matlab]读取电池老化数据集,并根据论文提取相应特征

数据下载

牛津大学电池智能实验室电池老化公开数据集

Matlab代码

clear;close all;clc;
%% 
load('Oxford_Battery_Degradation_Dataset_1.mat');
Testdata = Cell1;
names = fieldnames(Testdata);
value1 = 3.55;
value2 = 3.75;
feature1 = [];
lable1 = [];
%%
for name = 1:length(names)
    index = names(name);
    data_name_C1ch_t = strcat('Cell1.',index,'.C1ch.t');
    data_name_C1ch_v = strcat('Cell1.',index,'.C1ch.v');
    data_name_C1ch_q = strcat('Cell1.',index,'.C1ch.q');
    
    Data_C1ch_t = eval(data_name_C1ch_t{1});
    Data_C1ch_v = eval(data_name_C1ch_v{1});
    Data_C1ch_q = eval(data_name_C1ch_q{1});
    
    data = [Data_C1ch_v Data_C1ch_t];
    
    index1 = find(data(:,1)>=value1 & data(:,1)<=value2);
    data1 = data(index1,:);
    Seq_min = min(data1(:,2));
    Seq_max = max(data1(:,2));
    
    data2 = Seq_max-Seq_min;
    feature1 = [feature1;data2];
    
    Seq_max_C1ch_q=max(Data_C1ch_q(:,1));
    lable1 =[lable1;Seq_max_C1ch_q];

end
%% 
 clear data data1 data2 Data_C1ch_t Data_C1ch_v Data_C1ch_q Testdata value1;
 clear data_name_C1ch_t data_name_C1ch_v data_name_C1ch_q  value2;
 clear Seq_max_C1ch_q Seq_min Seq_max index names name index1;

引用文献

[]: 王萍,弓清瑞,张吉昂,程泽.一种基于数据驱动与经验模型组合的锂电池在线健康状态预测方法[J].电工技术学报,2021,36(24):5201-5212.DOI:10.19595/j.cnki.1000-6753.tces.210385.quick-reference.
[2]:Birkl C R. Diagnosis and prognosis of degradation in lithium-ion batteries[D]. Oxford: University of Oxford, 2017.

你可能感兴趣的:(matlab,开发语言)