当前位置:   article > 正文

MATLAB曲线拟合---基于二阶EKF的锂离子电池SOC估计的建模与仿真_二阶ekf计算soc

二阶ekf计算soc

给出一些点,进行曲线拟合

以SOC与EMF的拟合为例---运用MATLAB拟合工具箱内的ploymial算法

一.步骤

1.把点输入到MATLAB工作区

(1)保存.mat文件之后,使用前先导入load('game_calculate_k.mat')【未验证】

(2)直接在命令行窗口输入数据,定义X与Y

  1. X=0:10:100
  2. Y=[2.534 3.22 3.262 3.2965 3.304 3.306 3.312 3.339 3.342 3.343 3.366]

2.生成散点图

在命令行执行窗口输入

plot(X,Y,'O')%'是字母o'

运行之后即可出现散点图

3.拟合工具箱进行(参数)拟合

在APP中找到curve fitting tool和直接在命令行中输入cftool,都是可以打开的

4.选择对应数据

拟合工具箱左侧可以选择对应数据

有X/Y/Z三个数据选项,意思是说,拟合工具箱可以用来处理一个变量或者两个变量的拟合问题

如果是多维的拟合,我们可以用粒子群算法

我们最常用的算法有两种:Custom Equation(用户自定义函数拟合)和ploymial(多项式拟合)

在使用Custom Equation进行函数拟合时,若曲线与点出现过大偏差,可以尝试调试初值

5.进行八阶多项式拟合

可以选择多项式的次数

在选择模型时,并不是越复杂越好,在牺牲一部分精确度的代价下,模型是越简单越好

Center and scale可以选项,表示对数据进行一个标准化

区间的意思是,p的值有95%的概率落在区间内

6.如果函数是线性的,那么需要关注的是SSE和R-SQUARE(R^2)

如果函数是非线性的,需要关注的只有SSE

如何理解线性(如何区分函数是线性还是非线性)

这里的线性指的是对参数的线性,

例如y(x)=ax+bx^2,他是一个线性函数,a和b是我们要预测的参数且都为一次

再如y(x)=acx+bx^2,此时就不再满足线性,y(x)=e^(ax+bx),同样也是线性函数

7.生成相应代码

在文件选项中Generate Code,可以用来生成代码

可以在代码对应的地方进行修改(例如修改图注

8.在命令行窗口生成拟合曲线

在代码窗口修改完图注名称之后,运行,即可生成相应单独图像

9.保存图像

直接在窗口复制图床即可,在ctrl+v到word中

10.一些解释

多项式的拟合公式为:

二.可以对未来趋势进行预测 predict

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/864628
推荐阅读
相关标签
  

闽ICP备14008679号