概念
最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y=©(x)。
原理
[原理部分由个人根据互联网上的资料进行总结,希望对大家能有用]
给定数据点pi(xi,yi),其概念
最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y=©(x)。
原理
[原理部分由个人根据互联网上的资料进行总结,希望对大家能有用]
给定数据点pi(xi,yi),其中i=l,2,…,m。求近似曲线y=©(x)□并且使得近似曲线与y=f(x)的偏差最小。近似曲线在点pi处的偏差§i=©(xi)-y,i=l,2,...,m。
常见的曲线拟合方法:
1•使偏差绝对值之和最小
冊m
2•使偏差绝对值最大的最小
3•使偏差平方和最小
按偏差平方和最小的原则选取拟合曲线,并且采取二项式方程为拟合曲线的方法,称为
最小二乘法。
推导过程:
设拟合多项式为:
各点到这条曲线的距离之和,即偏差平方和如下:
丿■
酹三》[.Vj-(no--I-flI-TjH-■■■+at
i=l
为了求得符合条件的a值,对等式右边求ai偏导数,因而我们得到了:
J'=I
-2工卜-
j=j
4-^1+...4A^il=0
-2[v-pjQ+«|.r+...鑼氓|,=0.
将等式左边进行一下化简,然后应该可以得到下面的等式:
n+■…4%£#
/=]j=J
3.
,就可以得到下面的矩阵:
■■-St」寸
S!U
…區刑
-rjTi
Bfa
[厶=ilAi=j-L
r■
T■
-碁宀
V
£?=1-吐冲一
:
'1
-Tl
-xf
yi
i
-.t!
1.
H
J:
L
;
1
…蛙
-
一"一
*A=Y,那么A=(X'*X)-1*X'*Y,便得到了系数矩阵A,同时,我们也就
得到了拟合曲线。
实现
运行前提:
Python运行环境与编辑环境;
,可用于快速绘制2D图表,与matlab中的plot命令类似,而且用法也基本相同。
代码:
[python]viewplaincopy
#coding=utf-8
2.
作者JairusChan
程序:多项式曲线拟合算法
'''
importmath
importnumpy
importrandom
11.
fig=()
ax=(111)
14.
#阶数为9阶
order=9
17.
#生成曲线上的各个点
x=(-1,1,)
y=[((a*a-1)*(a*a-1)*(a*a-1)+)*(a*2)forainx]
#(x,y,color='r',linestyle='-',
python 曲线拟合 原理 代码 来自淘豆网m.daumloan.com转载请标明出处.