赞
踩
给出一些点,进行曲线拟合
以SOC与EMF的拟合为例---运用MATLAB拟合工具箱内的ploymial算法
一.步骤
1.把点输入到MATLAB工作区
(1)保存.mat文件之后,使用前先导入load('game_calculate_k.mat')【未验证】
(2)直接在命令行窗口输入数据,定义X与Y
- X=0:10:100
- 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。