1 / 3
文档名称:

二次函数拟合算法.docx

格式:docx   大小:16KB   页数:3页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

二次函数拟合算法.docx

上传人:kunpengchaoyue 2022/5/14 文件大小:16 KB

下载得到文件列表

二次函数拟合算法.docx

文档介绍

文档介绍:二次函数拟合算法
原理:在给定一组数据序列(竝,此),i=0,1,2…m,用二次多项式拟合这组数据时,设
p(x)=a0+兔x+a2x2,则根据拟合函数与数据序列的均方误差最小原则,可以得到二次多项式函数拟合的矩阵计算方程如下所二次函数拟合算法
原理:在给定一组数据序列(竝,此),i=0,1,2…m,用二次多项式拟合这组数据时,设
p(x)=a0+兔x+a2x2,则根据拟合函数与数据序列的均方误差最小原则,可以得到二次多项式函数拟合的矩阵计算方程如下所示:
m
严%,
I=1I

i=11
=11a0
叫3)(%)=(m1%4a2i=1:
myi=1丿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对应代码:
DimKvalueQAsVariant
DimYvalne0AsVariant
Dimy,ttt,tttttttjSunij5wnlSmalnSuny^xlyl^Smn=0#
x2y1AsDouble
s™i
=a#
Smn2
=a#
Smn3
=a#
Smny
=a#
Klyl
=a#
x2yl
=a#
Vfith
wksheet
JCyclelndes即为Cycle的总数=iCyu"C口unt+1
Fori=1Toi匚ycleCount+1
'肮边u亡芮横坐标值的一维勘组YvaLue^J纵坐标值的一维数组Nwalue(i)=i
Yvalueti^(i+L9)/.Cell(i+1』8)'将横纵坐标转换double型
y=匚Dbl(Ywalne(i))
1二CDbl(Xwalue(i)0|
It=t"2
■ttt=
:t3
■tttt
=-t4
Sum=
Sun+t
Sumi
=Sunl+tt
Sujii2
=Sum2+ttt
Sujti3
=Sum3+ttizt
Sumy
=Sumy十y
Klyl
=slyl+t*y
y2yl
=s2yl+tt*:
Nesti
'定义三个矩隣从而计算拟台出的二次函数的系数DimXX(3,3),YYd,3\AA(1』引AsDoubleKKd,1)=CDbKiCycleCourit十0赵(1:2)=SN(2;1)=Sum
)二SX(2,2)二XXCX1)二SujilI
n(2,3)二KKO,2)二Swn2
KX(3,3)=S