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对应代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值