clear ;
clc;
% U_t= xlsread('40A_80A_Puls.xlsx',1,'B1:B7989'); %端电压
% soc= xlsread('40A_80A_Puls.xlsx',1,'D1:D7989'); %SOC的参考值
% I= xlsread('40A_80A_Puls.xlsx',1,'A1:A7989'); %放电电流A
U_t= xlsread('SoC=0.6_I=60_puls.xlsx',2,'A1:A122'); %实验得出的数据,电压
I= xlsread('SoC=0.6_I=60_puls.xlsx',2,'B1:B122'); %电流
% U_t= xlsread('30A_60A_Puls.xlsx',1,'A1:A10700'); %端电压
% soc= xlsread('30A_60A_Puls.xlsx',1,'C1:C10700'); %SOC的参考值
% I= xlsread('30A_60A_Puls.xlsx',1,'B1:B10700'); %放电电流A
%%%%%%%%%%%%%%%%%%%%%%能斯特参数定义%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
E0=52.3; %%E0,k1,k2都是通过实验辨识出的结果
k1=1;
k2=1.1;
m=37;
z=1;
Ro=8.314;
F=96485;
%%%%%%%%%%%%%%%%%%%%%RLS参数设置%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I_0=eye(4); %其代表为单位矩阵,而且其行列取决于系统
P=1*10^6*I_0;
V=zeros(4,1);
v=[];
T=1; %其为采样周期
L=numel(I); %%循环长度
U_t_RLS_past=U_t(1);
U_t_RLS=[];
%%%%%%%%%%%%%%%%RLS参数识别%%%%%%%%%%%%%%%%%%%%%%
for k=2:L %迭代函数
% soc_now=soc(k);
E_ocv=53.245;
% E_ocv=47.33+35.48.*soc_now-188.2*soc_now.^2+730.4*soc_now.^3-1724*soc_now.^4+2447*soc_now.^5-1993*soc_now.^6+826.8*soc_now.^7-123.2*soc_now.^8;
X=[E_ocv U_t(k-1) I(k) I(k-1)]';
% if k<20
c=0.6;
% else
% c=0.9;
% end
K=(P*X)/((c+X'*P*X)); %K为5*1的矩阵
V=V+K*(U_t(k)-X'*V); %V为5*1的矩阵,
P=(I_0-K*X')*P/c; %P为5*5的矩阵
v=[v V];
end
b1=v(1,1:L-1);
b2=v(2,1:L-1);
b3=v(3,1:L-1);
b4=v(4,1:L-1);
%%%%%%%%%%%%%%%%辨识的参数验证%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% t=25+273.15; %%温度 开尔文
% E_1=E0+m*2*Ro*t.*(k1*log(soc)-k2*log(1-soc))/(z*F); %%能斯特方程
E_1=53.245;
for j=2:L-1
U_t_RLS_now=b1(j)*E_1+b2(j)*U_t_RLS_past+b3(j)*I(j)+b4(j)*I(j-1);
U_t_RLS=[U_t_RLS;U_t_RLS_now];
U_t_RLS_past=U_t_RLS_now;
end
%%%%%%%%%%%%%%%%计算等效电路参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
R0=-(b4-b3)./(1+b2);
R1=-2*(b4+b2.*b3)./(b2.^2-1);
C1=(b2+1).^2./(4*(b4+b2.*b3));
R0=R0';
R1=R1';
C1=C1';
N=1:L-2;
figure(1);
% subplot(2,3,1);
plot(N,U_t(2:L-1));
hold on;
plot(N,U_t_RLS);
xlabel('N');ylabel('V');
legend('measure','RLS');
% subplot(2,3,2);
% plot(N,R0);
% title('the value of R0 curve');
% xlabel('N');ylabel('Ω');
% legend('0.05Ω');
%
% subplot(2,3,3);
% plot(N,R1);
% title('the value of R1 curve');
% xlabel('N');ylabel('Ω');
% legend('0.01Ω');
%
% subplot(2,3,4);
% plot(N,C1);
% title('the value of C1 curve');
% xlabel('N');ylabel('F');
% legend('1500F');
遗传算法_遗传电池_遗传算法电池_遗传算法_
版权申诉
5星 · 超过95%的资源 144 浏览量
2021-10-01
13:29:47
上传
评论
收藏 73KB RAR 举报
爱牛仕
- 粉丝: 96
- 资源: 4716
最新资源
- 目标检测-零售食品LOGO检测数据集-5000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- 目标检测-零售食品LOGO检测数据集-1000张图-+对应VOC-COCO-YOLO三种格式标签+数据集划分脚本
- Delphi 12 控件之LMD.VCL.Full.Version.zip
- 计算机科学选修课:人工智能导论 第二节 PPT
- 计算机科学选修课:人工智能导论 第一章 PPT
- 忘记navicat密码时,此工具可以帮您查看密码
- 电子商务-电子商务平台-水果销售-在线购物-果库小程序.zip
- 基于React的后台开发框架(javascript)
- 用户界面设计-滑动选项卡-交互组件-用户体验-滑动选项卡小程序.zip
- 371系列智能型电动执行机构说明书
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈