c语言二次函数拟合,二次函数拟合算法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语⾔⼆次函数拟合,⼆次函数拟合算法
⼆次函数拟合算法
原理:
在给定⼀组数据序列(x i,y i),i=0,1,2…m,⽤⼆次多项式拟合这组数据时,设
p(x)=a0+a1x+a2x2,则根据拟合函数与数据序列的均⽅误差最⼩原则,可以得到⼆次多项式函数拟合的矩阵计算⽅程如下所⽰:(
m x i
m
i=1
x i2
m
i=1
x i
m
i=1
x i2
m
i=1
x i3
m
i=1
x i2
m
i=1
x i3
m
i=1
x i4
m
i=1
)(
a0
a1
a2
)= (
y i
m
i=1
x i y i
m
i=1
x i2y i
m
i=1
)
在我们的计算库伦效应实例中,Y即为每个Cycle对应的DischargeC/ChargeC的⽐值,X即
为每个Cycle对应的数字。
代码中定义的三个矩阵XX,AA,YY则分别对应原理公式中等式左边X系数矩阵,A系数矩阵
以及等式右边包含Y系数的矩阵。
具体步骤:
1:先将矩阵中需要的所有量计算出来,并且存放在XX,AA,YY三个矩阵中。
2:为了求得系数矩阵AA,我们需要先把XX矩阵求逆,然后与YY矩阵相乘。
函数MRinv
即为矩阵求逆的函数,返回时存放其逆矩阵。
3:得到系数矩阵AA之后,即得到了拟合好的⼆次函数,将此⼆次函数输出在Excel表中。
具体代码实现:步骤1对应代码:。