下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
概念最小二乘法多项式曲线拟合,根据给定的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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区警务室设施保养与检修指南
- 2026年执业药师资格考试(药事管理与法规)模拟题
- 产品售后服务流程优化手册
- 中考语文文言文课内外对比阅读十五篇精练(含考点解析)
- 初创公司财务预算编制与管理指南
- 2026 年财务系统操作密码定期更换督查汇报材料
- 2026年民兵考试及答案
- 2026年湖南金融技术职工大学教师招聘考试试题及答案
- 2026年成人高考政治基础练习试题及答案
- 2025四川巴中市通江嘉祐农业发展投资有限公司招聘13人笔试历年参考题库附带答案详解
- 2026《超龄劳动者基本权益保障暂行规定》解读
- 2026年交通辅警测试题及答案
- 2026天津华北地质勘查局及所属事业单位第二批招聘7人笔试备考试题及答案详解
- 2026年高考语文(全国I卷)真题试卷
- 2026海南陵水黎族自治县县属国有企业第一批招聘60人笔试模拟试题及答案详解
- 2026安全生产月安全考试试题及答案安全生产月
- 2026年高考语文真题全国二卷作文讲评:“日月不失其体故蔽而复明”
- 广东省湛江航运集团有限公司招聘笔试题库2026
- 时间频率计量工程师考试试卷及答案
- 甘肃省庆阳市2024-2025学年七年级下学期期末考试历史试卷(含答案)
- 2025年小学体育教师资格证考试真题汇编(含答案)
评论
0/150
提交评论