下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
概念最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y=φ(x)。原理[原理局部由个人根据互联网上的资料进行总结,希望对大家能有用]给定数据点pi(xi,yi),其中i=1,2,…,m。求近似曲线y=φ(x)。并且使得近似曲线与y=f(x)的偏差最小。近似曲线在点pi处的偏差δi=φ(xi)-y,i=1,2,...,m。常见的曲线拟合方法:按偏差平方和最小的原那么选取拟合曲线,并且采取二项式方程为拟合曲线的方法,称为最小二乘法。推导过程:1.设拟合多项式为:2.各点到这条曲线的距离之和,即偏差平方和如下:3.为了求得符合条件的a值,对等式右边求ai偏导数,因而我们得到了:.......4.将等式左边进行一下化简,然后应该可以得到下面的等式:.......5.把这些等式表示成矩阵的形式,就可以得到下面的矩阵:6.将这个范德蒙得矩阵化简后可得到:7.也就是说X*A=Y,那么A=(X'*X)-1*X'*Y,便得到了系数矩阵A,同时,我们也就得到了拟合曲线。实现运行前提:Python运行环境与编辑环境;Matplotlib.pyplot图形库,可用于快速绘制2D图表,与matlab中的plot命令类似,而且用法也根本相同。代码:[python]viewplaincopy#
coding=utf-8'''''作者:Jairus
Chan程序:多项式曲线拟合算法'''import
matplotlib.pyplot
as
plt
import
math
import
numpy
import
random
fig
=
plt.figure()
ax
=
fig.add_subplot(111)
#阶数为9阶order=9#生成曲线上的各个点x
=
numpy.arange(-1,1,)
y
=
[((a*a-1)*(a*a-1)*(a*a-1)+)*numpy.sin(a*2)
for
a
in
x]
#ax.plot(x,y,color='r',linestyle='-',marker='')#,label="(a*a-1)*(a*a-1)*(a*a-1)+0.5"#生成的曲线上的各个点偏移一下,并放入到xa,ya中去i=0xa=[]
ya=[]
for
xx
in
x:
yy=y[i]
d=float(random.randint(60,140))/100#ax.plot([xx*d],[yy*d],color='m',linestyle='',marker='.')
i+=1
xa.append(xx*d)
ya.append(yy*d)
'''''for
i
in
range(0,5):
xx=float(random.randint(-100,100))/100
yy=float(random.randint(-60,60))/100
xa.append(xx)
ya.append(yy)'''ax.plot(xa,ya,color='m',linestyle='',marker='.')
#进行曲线拟合matA=[]
for
i
in
range(0,order+1):
matA1=[]
for
j
in
range(0,order+1):
tx=
for
k
in
range(0,len(xa)):
dx=
for
l
in
range(0,j+i):
dx=dx*xa[k]
tx+=dx
matA1.append(tx)
matA.append(matA1)
#print(len(xa))#print(matA[0][0])matA=numpy.array(matA)
matB=[]
for
i
in
range(0,order+1):
ty=
for
k
in
range(0,len(xa)):
dy=
for
l
in
range(0,i):
dy=dy*xa[k]
ty+=ya[k]*dy
matB.append(ty)
matB=numpy.array(matB)
matAA=numpy.linalg.solve(matA,matB)
#画出拟合后的曲线#print(matAA)xxa=
numpy.arange(-1,,)
yya=[]
for
i
in
range(0,len(xxa)):
yy=
for
j
in
range(0,order+1):
dy=
for
k
in
range(0,j):
dy*=xxa[i]
dy*=matAA[j]
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国城市咖啡发展报告
- 《天然药物的开发》课件
- 养老保险的三大支柱
- 社区项目方案设计模板
- 两位数乘两位数笔算能力测试口算题带答案
- 家庭教育活动报告
- 《组织行为学》激励课件
- 严重精神病性管理工作培训
- 物联网产业发展现状智慧养老技术概论
- 音乐照护健康评估-老年康体指导 初 级 -1729733444183
- 人教版新教材高一上学期期末考试数学试卷及答案(共五套)
- 河道保洁服务投标方案
- 《网络游戏利与弊》课件
- 4.与食品经营相适应的主要设备设施布局操作流程等文件
- 法律文书校对规定
- 小学食堂结算统计表(午餐、晚餐都吃的学校适用)
- 海水的性质 说课课件 2023-2024学年高中地理人教版(2019)必修第一册
- 医院重点岗位工作人员轮岗制度
- CFM56-5B发动机VBV活门的钢丝软轴操控原理及软轴刚度研究
- Mysql 8.0 OCP 1Z0-908 CN-total认证备考题库(含答案)
- 带式输送机胶带安装
评论
0/150
提交评论