下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
概念最小二乘法多项式曲线拟合,根据给定的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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿色清新风劳动节安全教育主题
- 注册会计师税法中反避税管理的实施程序
- 5.5 运行与维护数据库
- 以生为本激扬成长-新时代高中班级管理的实践与创新
- 纺织厂生产设备使用细则
- 麻纺产品追溯细则
- 苏科版(新教材)小学信息科技五年级下册每课教学反思
- 2026年宿州九中教育集团(宿马南校区) 教师招聘备考题库带答案详解(突破训练)
- 2026山东济南市中心医院招聘博士研究生(控制总量)70人备考题库及参考答案详解
- 2026上半年四川成都职业技术学院(考核)招聘高层次人才8人备考题库附参考答案详解(b卷)
- 2025年江西省高职单招文化统一考试真题及答案(网络版)
- 财建2002394文 建设单位管理费收费标准
- 闸门与启闭设备培训
- 视网膜术后体位护理
- 2024年湖州安吉农商银行招聘笔试真题
- 小型水电站建设工程可行性研究报告
- 药物安全性研究-洞察分析
- 养老机构服务礼仪规范培训
- 公共基础知识1000题题库
- 钢材物资组织供应、运输、售后服务方案
- (正式版)JBT 1306-2024 电动单梁起重机
评论
0/150
提交评论