当前位置:文档之家› 曲线拟合的研究

曲线拟合的研究

曲线拟合的研究
曲线拟合的研究

曲线拟合的研究

(时振宇, 刘禹, 彭波)

1 综述(历史及应用)

插值在数学发展史上是个老问题,它和拉格朗日,牛顿,高斯等著名的数学家的名字联系在一起的,它最初来源于天体计算――由若干观测值计算任意时刻星球的位置(即插值点和插值)――的需要。现在插值仍在诸如机械加工等工程技术和数据处理等科学研究中有许多直接应用.

插值常用方法有拉格朗日多项式插值,分段线性插值,三次样条插值.

拉格朗日插值是高次多项式插值(n +1个节点上用不超过n 次的多项式), 插值曲线光滑,误差估计有表达式,但有振荡现象,收敛性不能保证,这种插值主要用于理论分析,实际意义不大. 分段线性和三次样条插值石低次多项式插值,简单实用,收敛性有保证,但不光滑,三次样条插值的整体光滑性已大有提高,应用广泛,唯误差估计较困难.

根据一组二维数据,即平面上的若干点,确定一个一元函数,即曲线,使这些点与曲线总体来说尽量接近,这就是曲线拟合.

线性最小二乘法是解决曲线拟合的最常用方法,基本思路是, 令:

)(...)()()(2211x r a x r a x r a x f m m +++=

其中rk(x)是事先选定的一组函数,a k 是待定系数,拟合标准是使n 个点(x i ,y i ) i=1,2,…n 与y =f (xi)的距离的平方和最小,称最小二乘准则.

本实验所用拟合方法使高次磨削法,原理在下面叙述.

2 问题分析和算法

3.1基本思路

我们首先考虑等步长情况,不等步长可以在此基础上稍做改进而得。如图,(x 1,y 1) (x 2,y 2) (x 3,y 3) (x 4,y 4) (x 5,y 5) 为所给原始数据点中的一部分,磨光过程中应对(x 2,y 2) (x 3,y 3) (x 4,y 4) 进行切削,图示第一次切削过程。然后还需对(p 3,q 3) (p 4,q 4)第二次磨削,如此重复。高次磨光后,最后一次切削所产生的(x 2,y 2)最右侧及(x 3,y 3)最左侧的折点均向(x 2,y 2) (x 3,y 3)中点(x 23,y 23)逼近,理想情况下两点在(x 23,y 23)处重合,则磨削点(x 2,y 2)和(x 3,y 3)工作完成。切削步长大小有要求,太小则无法对x 23附近的点进行磨削,太大则在x 23附近进行了多次磨削,设每次切削后步长变为原步长的1/n ,第一次切削步长为h/a ,m 为切削次数,则有:

h =+?+++))n

1n 1n 1(1h a lim(m 2; 即111=+n a ; 我们取a=2,n=2可符合要求,即每次的切削步长为h/2;

图3-1 磨削算法示意图

对点 (x j , y j ) 进行一次切割将产生两个点(x j ’, y j ’), (x j+1’,y j+1’);由前面分析可知:

???

????--=-=-4)('4'1j j

j j j j y y y y h x x ???

????--=+=+++4)('4'111j j

j j j j y y y y h x x 如果现在由n 个点,除去两个端点不需磨削,一次磨削后,将产生2*(n-2)+2个新的点,其坐标用行向量x ’,y ’表示;在求下一次磨削时,将x ’,y ’复制给行向量x ,y ,新的切削后的行纵坐标x ’,y ’可用上述方法得到。如果我们确定了循环次数,则拟合完成.

3.2 初始点的移动

为了使磨削后的点过原始点,需将原始点在磨削前移动一定距离,如图: x 代表原始点坐标, x ’代表移动后的坐标.

'8

1'43'8142''''32131222x x x x x x x x ++=+--=

如此可得:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

=

1

125

.0

125

.0

75

.0

125

.0

125

.0

125

.0

125

.0

75

.0

125

.0

125

.0

1

A

T

k

x

x

x

x

X]

,...,

,

,

[

3

2

1

=

T

X

A

X?

=

X

A

X T?

=-1

y和x的计算雷同, 故不再重复

图3-2 计算y的示意图

3.3 不等步长的推广和单侧点的处理

当步长不等时,h不是一个常数,可以在每次使用h时计算出两点间的步长.如:

?

?

?

??

?

?

-

-

=

-

-

=

-

-

4

'

4

'

1

1

j

j

j

j

j

j

j

y

y

yj

y

x

x

x

x

当(x1,y1)及(xk , yk)不重合时,曲线不闭合,两个端点都只有单侧信息,我们只能对其一半进行磨削处理,剩下的一部分由直线连接;而当(x1,y1)和(x k , y k)重合后,磨削最后形成一个闭合的曲线,两端点亦需移动,矩阵B如下。点的切削和前基本一致,唯一不同在于端点(x1,y1),(x k, y k)应联系(x2,y2) (x k-1,y k-1)进行磨削.

??

???????

?????????????????????????=75.0125.000125.0125.075.0125.000125.0125.000125.075.0125.0125.000125.075.0B 3 误差分析

f(xi+h/2)=(I+D*h/2+D^2*h^2/8)*f(xi)+o(h^2/2)

f(xi-/2)=(I-*h/2+D^2*h^2/8)*f(xi)+o(h^2/2)

S1(x) = f(xi+h/2)-(f(xi+h/2)-f(xi-h/2))/h*(-x+xi+h/2)

= f(xi+h/2)-D*f(xi)(xi+h/2-x)

f(x)=(I+D*(x-xi)+D^2*(x-xi)^2/2)*f(xi)+o((x-xi)^2)

|f(x)-S1(x)|=D^2/2*((x-xi)^2-h^2/4)

当x=xi 时,|f(x)-S1(x)|=D^2*f(xi)*h^2/8;

所以,若f(xi)的二次导数越小,点的连线越平和,误差越小

4 软件使用说明

4.1 界面功能介绍(curve.m)

① 文件操作按钮

依次为打开文件、新建(刷新视图)、保存数据.

②插值方式选择

支持的插值算法: 磨削、拉格朗日、样条插值、三次插值和分段线性插值. ③坐标轴控制功能

依次为网格线、放大/缩小、编辑、重置, 另有两组预留按钮

④线型和算法参数控制

4.2 数据输入/输出方式

本软件采用了外部文件和内置命令行两种输入方式:

①外部文件方式

目前支持的外部数据文件格式包括文本文件(.txt, .dat), Microsoft Excel 电子表格(*.xls). 并可将曲线拟合后的数据存盘为文本格式.

②命令行方式输入框

指定变量x, y 的取值, 不区分大小写.

4.3 运行环境

软件的开发环境为MatLab 6.1和Visual Studio 6.0, 在Visual Studio RunTime 环境下将提供较为友好的文件浏览界面.

5软件编写思想和原则

本软件的编写宗旨是构造实用性的插值算法模块, 程序编制过程中我们格外注意模块接口的清晰和功能明确. 插值算法等底层模块除必要的错误捕获不再设任何输出, 所有数据通过参数表和返回值传递.

界面力求友好和方便, 提供文件功能以利于保存工作成果, 设置必要的错误检查. 并利用MatLab的ActiveX调用接口配合Visual Studio 提供的https://www.doczj.com/doc/e713742086.html,monDialog 标准控件实现文件浏览等.

6分工情况

时振宇& 彭波: 磨削算法和相应模块(mod_smooth.m)的编写, 论文的主体部分. 刘禹: 编写程序、撰写论文的软件介绍说明部分和排版工作.

MATLAB曲线拟合的应用

MATLAB曲线拟合的应用 王磊品吴东 新疆泒犨泰克石油科技有限公司新疆油田公司准东采油厂信息所 摘要:1.阐述MATLAB数学分析软件的基本功能; 2.对MATLAB在生产数据分析中的应用进行了研究,指出曲线拟合的基本方法; 3.以实例阐明MATLAB与行业生产数据结合对生产数据进行分析的原理。 关键词:MATLAB;曲线拟合;插值 1.引言 在生产开发过程中,复杂的生产数据之间或多或少的存在着这样或者那样的联系,如何利用现今普及的计算机以及网络资源在最短的时间内找到这个联系,以指导我们的生产开发,这对于行业科研人员来说无疑是一个最为关心的问题。MATLAB矩阵分析软件,自推出以来,已成为国际公认的最优秀的数学软件之一,其范围涵盖了工业、电子、医疗以及建筑等各个领域,以其强大的科学计算功能使众多科研机构纷纷采用。 为此,本文从介绍MATLAB软件开始,以实例讲述如何使用MATLAB对生产开发数据进行计算与分析,从而达到高效、科学指导生产的目的。 2.MATLAB简介 MATLAB是MathWorks公司于1982年推出的一套高性能的数值计算和可视化数学软件。由于使用编程运算与人进行科学计算的思路和表达方式完全一致,所以不象学习其它高级语言那样难于掌握,用Matlab编写程序犹如在演算纸上排列出公式与求解问题,所以又被称为演算纸式科学算法语言。在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以数值或图形方式显示出来。 MATLAB的含义是矩阵实验室(MATRIX LABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。自问世以来, 就是以数值计算称雄。MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”。经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。美国许多大学的实验室都安装有供学习和研究之用。 MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列 MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等。随着 MATLAB版本的不断升

第三章_曲线拟合算法的研究汇总

第三章 曲线拟合算法的研究 3.1 引言 随着航空、汽车等现代工业与计算机技术的发展,圆锥曲线与列表点曲线已经成为形状数学描述的常用方法,得到了广泛的应用。为了满足激光切割加工任务的需要,自动编程系统集成了多种曲线拟合算法,这样利用现有的激光切割机,即可实现特殊曲线的插补功能,极大地丰富系统的插补能力,满足复杂的生产要求。 3.2 圆锥曲线拟合算法的研究 在经济型数控系统中,对于圆锥曲线即平面二次曲线的加工是数控加工中经常遇到的问题,随着数控加工对圆锥曲线插补的需求,近年来有关各种圆锥曲线的插补算法应运而生[26]。常用的解决方法是先用低次的有理参数曲线拟合或将其离散,再用直线、圆弧逼近,然后才能进行数控加工[28]。本章从一个新的视角利用双圆弧方法,提出先对圆锥曲线进行标准化处理,再用双圆弧拟合逼近,然后再进行数控加工。这样的优点是:圆弧样条的等距曲线还是圆弧;双圆弧样条能达到C 1连续,基本上能满足要求;所有数控系统都具有直线插补和圆弧插补功能,无需增加额外负担。 由于工程应用不同,对曲线拟合的要求也不同。有的只要求拟合曲线光滑,有的要求光顺[9-10]。本章中开发的软件要求是:支持多种常用圆锥曲线的拟合;拟合曲线要求光滑;拟合曲线与函数曲线间的误差应控制在允许的范围之内,且拟合圆弧段数较少。 本章提出的对圆锥曲线的插补,是建立在对平面任意二次曲线可以进行分类的基础上,先将二次曲线进行分类,然后对各类曲线分别进行双圆弧拟合,这样就可以直接利用数控系统的圆弧插补功能进行插补。 3.2.1 圆锥曲线的一般理论[9] 在平面直角坐标系中,二元二次方程所表示的曲线称为二次曲线。其中系数A 、B 、 C 、 D 、 E 、 F 为实常数,且A 、B 、C 不同时为零。 022=+++++F Ey Dx Cy Bxy Ax (3.1) 式(3.1)称为圆锥曲线的隐式方程。令 AC B 42-=? (3.2) 称上式为二元二次方程(3.1)的判别式。 0

一种分段曲线拟合方法研究

一种分段曲线拟合方法研究 摘要:分段曲线拟合是一种常用的数据处理方法,但在分段点处往往不能满足连续与光滑.针对这一问题,本文给出了一种能使分段点处连续的方法.该方法首先利用分段曲线拟合对数据进行处理;然后在相邻两段曲线采用两点三次Hermite插值的方法,构造一条连结两条分段曲线的插值曲线,从而使分段点处满足一阶连续.最后通过几个实例表明该方法简单、实用、效果较好. 关键词:分段曲线拟合Hermite插值分段点连续 Study on A Method of Sub-Curve Fitting Abstract:Sub-curve fitting is a commonly used processing method of data, but at sub-points it often does not meet the continuation and smooth, in allusion to to solve this problem, this paper presents a way for making sub-point method continuous. Firstly, this method of sub-curve fitting deals with the data; and then uses the way of t wo points’ cubic Hermite interpolation in the adjacent, structures a interpolation curve that links the two sub-curves, so the sub-point meets first-order continuation; lastly, gives several examples shows that this method is simple, practical and effective. Key words:sub-curve fitting Hermite interpolation sub-point continuous

曲线拟合的方法及过程

一、课程设计题目: 对于函数 x e x x f --=)( 从00=x 开始,取步长1.0=h 的20个数据点,求五次最小二乘拟合多项式 5522105)()()()(x x a x x a x x a a x P -++-+-+= 其中 ∑ ===19 95.020 i i x x 二、原理分析 (1)最小二乘法的提法 当数据量大且由实验提供时,不宜要求近似曲线)(x y φ=严格地经过所有数据点),(i i y x ,亦即不应要求拟合函数)(x ?在i x 处的偏差(又称残差) i i i y x -=)(φδ (i=1,2,…,m) 都严格的等于零,但是,为了使近似曲线能尽量反应所给数据点的变化趋势,要求偏差i δ适当的小还是必要的,达到这一目标的途径很多,例如,可以通过使最大偏差i δmax 最小来实现,也可以通过使偏差绝对值之和∑i i δ最小来实 现……,考虑到计算方便等因素,通常用使得偏差平方和∑i i 2δ最小(成为最小 二乘原则)来实现。 按最小二乘原则选择近似函数的方法称为最小二乘法。 用最小二乘法求近似函数的问题可以归结为:对于给定数据),(i i y x (i=1,2,…,m),要求在某个函数类Φ中寻求一个函数)(x * ?,使 [][]2 1 )(2 1 * )()(mi n ∑∑=Φ∈=-=-m i i i x m i i i y x y x ??? (1-1) 其中)(x ?为函数类Φ中任意函数。 (1)确定函数类Φ,即确定)(x ?的形式。这不是一个单纯的数学问题,还与其他领域的一些专业知识有关。在数学上,通常的做法是将数据点),(i i y x 描

matlab曲线拟合实例

曲线拟合 求二次拟合多项式 解:(一)最小二乘法MA TLAB编程: function p=least_squar(x,y,n,w) if nargin<4 w=1 end if nargin<3 n=1 end m=length(y); X=ones(1,m) if m<=n error end for i=1:n X=[(x.^i);X] end A=X*diag(w)*X';b=X*(w.*y)';p=(A\b)' 输入: x=[1 3 5 6 7 8 9 10]; y=[10 5 2 1 1 2 3 4] p=least_squar(x,y,2) 运行得: p = 0.2763 -3.6800 13.4320 故所求多项式为:s(x)=13.432-3.68x+0.27632x (二)正交多项式拟合MATLAB编程: function p=least_squar2(x,y,n,w) if nargin<4 w=1; end if nargin<3 n=1; end m=length(x); X=ones(1,m); if m<=n error end for i=1:n X=[x.^i;X]; end A=zeros(1,n+1);

A(1,n+1)=1; a=zeros(1,n+1); z=zeros(1,n+1); for i=1:n phi=A(i,:)*X;t=sum(w.*phi.*phi); b=-sum(w.*phi.*x.*phi)/t a(i)=sum(w.*y.*phi)/t; if i==1 c=0;else c=-t/t1; end t1=t for j=1:n z(j)=A(i,j+1); end z(n+1)=0 if i==1 z=z+b*A(i,:); else z=z+b*A(i,:)+c*A(i-1,:); end A=[A;z]; end phi=A(n+1,:)*X;t=sum(w.*phi.*phi); a(n+1)=sum(w.*y.*phi)/t; p=a*A; 输入: x=[1 3 5 6 7 8 9 10]; y=[10 5 2 1 1 2 3 4]; p=least_squar2(x,y,2) 运行得: b = -6.1250 t1 = 8 z = 0 1 0 b = -4.9328 t1 = 64.8750 z = 1.0000 -6.1250 0 p = 0.2763 -3.6800 13.4320 故所求多项式为:s(x)=13.432-3.68x+0.27632x

实验数据曲线拟合方法研究

本科毕业设计论文题目实验数据曲线拟合方法研究 专业名称 学生姓名 指导教师 毕业时间

毕业 一、题目 实验数据曲线拟合方法研究 二、指导思想和目的要求 通过毕业设计,使学生对所学自动控制原理、现代控制原理、控制系统仿真、电子技术等的基本理论和基本知识加深理解和应用;培养学生设计计算、数据处理、文件编辑、文字表达、文献查阅、计算机应用、工具书使用等基本事件能力以及外文资料的阅读和翻译技能;掌握常用的实验数据曲线拟合方法,培养创新意识,增强动手能力,为今后的工作打下一定的理论和实践基础。 要求认真复习有关基础理论和技术知识,认真对待每一个设计环节,全身心投入,认真查阅资料,仔细分析被控对象的工作原理、特性和控制要求,按计划完成毕业设计各阶段的任务,重视理论联系实际,写好毕业论文。 三、主要技术指标 设计系统满足以下要求: 数据拟合误差要尽量的小的同时保证曲线的线形形状最佳。 四、进度和要求 1、搜集中、英文资料,完成相关英文文献的翻译工作,明确本课题的国内外研 究现状及研究意义;(第1、2周) 2、撰写开题报告;(第 3、4周) 3、应用最小二乘法进行曲线拟合;(第5、6周) 4、应用Matlab命令曲线拟合;(第7、8周) 5、应用Matlab图形用户界面曲线拟合;(第9、10周) 6、研究其他曲线拟合方法;(第11周) 7、整理资料撰写毕业论文; (1)初稿;(第12、13周)(2)二稿;(第14周)

8、准备答辩和答辩。(第15周) 五、主要参考书及参考资料 [1]卢京潮,《自动控制原理》,西北工业大学出版社,2010.6 [2]胡寿松,《自动控制原理》,科学出版社,2008,6 [3]薛定宇,陈阳泉,《系统仿真技术与应用》,清华大学出版社,2004.4 [4]王正林,《Matlab/Simulink与控制系统仿真》,电子工业出版社,2009.7 [5]李桂成,《计算方法》,电子工业出版社,2013.8 [6]蒋建飞,胡良剑,唐俭.数值分析及其Matlab实验【M】.北京:科学出版社,2008 学生指导教师系主任

曲线拟合的数值计算方法实验

曲线拟合的数值计算方法实验 【摘要】实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。曲线直线化是曲线拟合的重要手段之一。对于某些非线性的资料可以通过简单的变量变换使之直线化,这样就可以按最小二乘法原理求出变换后变量的直线方程,在实际工作中常利用此直线方程绘制资料的标准工作曲线,同时根据需要可将此直线方程还原为曲线方程,实现对资料的曲线拟合。常用的曲线拟合有最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束。 关键词曲线拟合、最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束 一、实验目的 1.掌握曲线拟合方式及其常用函数指数函数、幂函数、对数函数的拟合。 2.掌握最小二乘法、线性插值、三次样条插值、端点约束等。 3.掌握实现曲线拟合的编程技巧。 二、实验原理 1.曲线拟合 曲线拟合是平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。用解析表达式逼近离散数据的一种方法。在科学实验或社会活动中,通过实验或观测得到量x与y的一组数据对(X i,Y i)(i=1,2,...m),其中各X i 是彼此不同的。人们希望用一类与数据的背景材料规律相适应的解析表达式,y=f(x,c)来反映量x与y之间的依赖关系,即在一定意义下“最佳”地逼近或拟合已知数据。f(x,c)常称作拟合模型,式中c=(c1,c2,…c n)是一些待定参数。当c在f中线性出现时,称为线性模型,否则称为非线性模型。有许多衡量拟合优度的标准,最常用的一种做法是选择参数c使得拟合模型与实际观测值在各点

Matlab最小二乘法曲线拟合的应用实例

MATLAB机械工程 最小二乘法曲线拟合的应用实例 班级: 姓名: 学号: 指导教师:

一,实验目的 通过Matlab上机编程,掌握利用Matlab软件进行数据拟合分析及数据可视化方法 二,实验内容 1.有一组风机叶片的耐磨实验数据,如下表所示,其中X为使用时间,单位为小时h,Y为磨失质量,单位为克g。要求: 对该数据进行合理的最小二乘法数据拟合得下列数据。 x=[10000 11000 12000 13000 14000 15000 16000 17000 18000 19000 2 0000 21000 22000 23000]; y=[24.0 26.5 29.8 32.4 34.7 37.7 41.1 42.8 44.6 47.3 65.8 87.5 137.8 174. 2] 三,程序如下 X=10000:1000:23000; Y=[24.0,26.5,29.8,32.4,34.7,37.7,41.1,42.8,44.6,47.3,65.8,87.5,137.8,17 4.2] dy=1.5; %拟合数据y的步长for n=1:6 [a,S]=polyfit(x,y,n); A{n}=a;

da=dy*sqrt(diag(inv(S.R′*S.R))); Da{n}=da′; freedom(n)=S.df; [ye,delta]=polyval(a,x,S); YE{n}=ye; D{n}=delta; chi2(n)=sum((y-ye).^2)/dy/dy; end Q=1-chi2cdf(chi2,freedom); %判断拟合良好度 clf,shg subplot(1,2,1),plot(1:6,abs(chi2-freedom),‘b’) xlabel(‘阶次’),title(‘chi2与自由度’) subplot(1,2,2),plot(1:6,Q,‘r’,1:6,ones(1,6)*0.5) xlabel(‘阶次’),title(‘Q与0.5线’) nod=input(‘根据图形选择适当的阶次(请输入数值)’); elf,shg, plot(x,y,‘kx’);xlabel(‘x’),ylabel(‘y’); axis([8000,23000,20.0,174.2]);hold on errorbar(x,YE{nod},D{nod},‘r’);hold off title(‘较适当阶次的拟合’) text(10000,150.0,[‘chi2=’num2str(chi2(nod))‘~’int2str(freedom(nod))])

第四讲 matlab插值、拟合和回归分析

第四讲 插值、拟合与回归分析 在生产实践和科学研究中,常常有这样的问题:由实验或测量得到变量间的一批离散样本点,要求得到变量之间的函数关系或得到样本点之外的数据。解决此类问题的方法一般有插值、拟合和回归分析等。 设有一组实验数据0011(,),(,),(,)n n x y x y x y ,当原始数据精度较高,要求确定一个简单函数()y x ?=(一般为多项式或分段多项式)通过各数据点,即(),0,,i i y x i n ?== ,称为插值问题。 另一类是拟合问题,当我们已经有了函数关系的类型,而其中参数未知或原始数据有误差时,我们确定的初等函数()y x ?=并不要求经过数据点,而是要求在某种距离度量下总体误差达到最小,即 (),0,,i i i y x i n ?ε=+= ,且20 n i i ε=∑达到最小值。 对同一组实验数据,可以作出各种类型的拟合曲线,但拟合效果有好有坏,需要进行有效性的统计检验,这类问题称为回归分析。 一、插值(interpolation) 常用的插值方法有分段线性插值、分段立方插值、样条插值等。 1、一元插值 yi=interp1(x,y,xi,method) 对给定数据点(x,y),按method 指定的方法求出插值函数在点(或数组)xi 处的函数值yi 。其中method 是字符串表达式,可以是以下形式: 'nearest' ——最邻近点插值

'linear' ——分段线性插值(也是缺省形式) 'spline' ——分段三次样条插值 'cubic' 分段立方插值 例:在一天24小时内,从零点开始每间隔2小时测得环境温度数据分别为(℃): 12,9,9,10,18,24,28,27,25,20,18,15,13 用不同的插值方法估计中午1点(即13点)的温度,并绘出温度变化曲线。 >> x=0:2:24; >> y=[12 9 9 10 18 24 28 27 25 20 18 15 13]; >>y_linear=interp1(x,y,13),y_nearest=interp1(x,y,13,'nearest') >>y_cubic=interp1(x,y,13,'cubic'),y_spline=interp1(x,y,13,'spline') >> y1=interp1(x,y,xx); y2=interp1(x,y,xx,'nearest'); >> y3=interp1(x,y,xx,'cubic');y4=interp1(x,y,xx,'spline'); >> subplot(2,2,1),plot(x,y,'or',xx,y1) >> subplot(2,2,2),plot(x,y,'or',xx,y2) >> subplot(2,2,3),plot(x,y,'or',xx,y3) >> subplot(2,2,4),plot(x,y,'or',xx,y4) 2、二元插值 zi=interp2(X,Y,Z,xi,yi,method) 已知数据点(X,Y,Z),求插值函数在(xi,yi)处的函数值zi,插值方法method同interp1。这里要求X,Y,Z是同维矩阵,且X,Y是

1、曲线拟合及其应用综述

曲线拟合及其应用综述 摘要:本文首先分析了曲线拟合方法的背景及在各个领域中的应用,然后详细介绍了曲线拟合方法的基本原理及实现方法,并结合一个具体实例,分析了曲线拟合方法在柴油机故障诊断中的应用,最后对全文内容进行了总结,并对曲线拟合方法的发展进行了思考和展望。 关键词:曲线拟合最小二乘法故障模式识别柴油机故障诊断 1背景及应用 在科学技术的许多领域中,常常需要根据实际测试所得到的一系列数据,求出它们的函数关系。理论上讲,可以根据插值原则构造n 次多项式Pn(x),使得Pn(x)在各测试点的数据正好通过实测点。可是, 在一般情况下,我们为了尽量反映实际情况而采集了很多样点,造成了插值多项式Pn(x)的次数很高,这不仅增大了计算量,而且影响了函数的逼近程度;再就是由于插值多项式经过每一实测样点,这样就会保留测量误差,从而影响逼近函数的精度,不易反映实际的函数关系。因此,我们一般根据已知实际测试样点,找出被测试量之间的函数关系,使得找出的近似函数曲线能够充分反映实际测试量之间的关系,这就是曲线拟合。 曲线拟合技术在图像处理、逆向工程、计算机辅助设计以及测试数据的处理显示及故障模式诊断等领域中都得到了广泛的应用。 2 基本原理 2.1 曲线拟合的定义 解决曲线拟合问题常用的方法有很多,总体上可以分为两大类:一类是有理论模型的曲线拟合,也就是由与数据的背景资料规律相适应的解析表达式约束的曲线拟合;另一类是无理论模型的曲线拟合,也就是由几何方法或神经网络的拓扑结构确定数据关系的曲线拟合。 2.2 曲线拟合的方法 解决曲线拟合问题常用的方法有很多,总体上可以分为两大类:一类是有理论模型的曲线拟合,也就是由与数据的背景资料规律相适应的解析表达式约束的曲线拟合;另一类是无理论模型的曲线拟合,也就是由几何方法或神经网络的拓扑结构确定数据关系的曲线拟合。 2.2.1 有理论模型的曲线拟合 有理论模型的曲线拟合适用于处理有一定背景资料、规律性较强的拟合问题。通过实验或者观测得到的数据对(x i,y i)(i=1,2, …,n),可以用与背景资料规律相适应的解析表达式y=f(x,c)来反映x、y之间的依赖关系,y=f(x,c)称为拟合的理论模型,式中c=c0,c1,…c n是待定参数。当c在f中线性出现时,称为线性模型,否则称为非线性模型。有许多衡量拟合优度的标准,最常用的方法是最小二乘法。 2.2.1.1 线性模型的曲线拟合 线性模型中与背景资料相适应的解析表达式为: ε β β+ + =x y 1 (1) 式中,β0,β1未知参数,ε服从N(0,σ2)。 将n个实验点分别带入表达式(1)得到: i i i x yε β β+ + = 1 (2) 式中i=1,2,…n,ε1, ε2,…, εn相互独立并且服从N(0,σ2)。 根据最小二乘原理,拟合得到的参数应使曲线与试验点之间的误差的平方和达到最小,也就是使如下的目标函数达到最小: 2 1 1 ) ( i i n i i x y Jε β β- - - =∑ = (3) 将试验点数据点入之后,求目标函数的最大值问题就变成了求取使目标函数对待求参数的偏导数为零时的参数值问题,即: ) ( 2 1 1 = - - - - = ? ?∑ = i i n i i x y J ε β β β (4)

曲线拟合的最小二乘法matlab举例

曲线拟合的最小二乘法 学院:光电信息学院 姓名:赵海峰 学号: 200820501001 一、曲线拟合的最小二乘法原理: 由已知的离散数据点选择与实验点误差最小的曲线 S( x) a 0 0 ( x) a 1 1(x) ... a n n ( x) 称为曲线拟合的最小二乘法。 若记 m ( j , k ) i (x i ) j (x i ) k (x i ), 0 m (f , k ) i0 (x i )f (x i ) k (x i ) d k n 上式可改写为 ( k , jo j )a j d k ; (k 0,1,..., n) 这个方程成为法方程,可写成距阵 形式 Ga d 其中 a (a 0,a 1,...,a n )T ,d (d 0,d 1,...,d n )T , 、 数值实例: 下面给定的是乌鲁木齐最近 1个月早晨 7:00左右(新疆时间 )的天气预报所得 到的温度数据表,按照数据找出任意次曲线拟合方程和它的图像。 它的平方误差为: || 2 | 2 ] x ( f

(2008 年 10 月 26~11 月 26) F 面应用Matlab 编程对上述数据进行最小二乘拟合 三、Matlab 程序代码: x=[1:1:30]; y=[9,10,11,12,13,14,13,12,11,9,10,11,12,13,14,12,11,10,9,8,7,8,9,11,9,7,6,5,3,1]; %三次多项式拟合% %九次多项式拟合% %十五次多项式拟合% %三次多项式误差平方和 % %九次次多项式误差平方和 % %十五次多项式误差平方和 % %用*画出x,y 图像% %用红色线画出x,b1图像% %用绿色线画出x,b2图像% %用蓝色o 线画出x,b3图像% 四、数值结果: 不同次数多项式拟和误差平方和为: r1 = 67.6659 r2 = 20.1060 r3 = 3.7952 r1、r2、r3分别表示三次、九次、十五次多项式误差平方和 拟和曲线如下图: a 仁polyfit(x,y,3) a2= polyfit(x,y,9) a3= polyfit(x,y,15) b1= polyval(a1,x) b2= polyval(a2,x) b3= polyval(a3,x) r1= sum((y-b1).A 2) r2= sum((y-b2).A2) r3= sum((y-b3).A2) plot(x,y,'*') hold on plot(x,b1, 'r') hold on plot(x,b2, 'g') hold on plot(x,b3, 'b:o')

最小二乘法多项式曲线拟合的阶数研究

项目基金:国家技术创新基金资助项目(11C26214302856),湖南省自然科学基金资助项目(11JJ4050),湖南省教育厅科研 基金资助项目(11B039, 11W002, 10C0620) 通信作者:黄春燕(1981-),男,江西赣州人,湖南工业大学硕士生,研究方向为嵌入式系统, E-mail :hcy_163@https://www.doczj.com/doc/e713742086.html, 最小二乘法多项式曲线拟合的阶数研究 黄春燕,满君丰 (湖南工业大学 计算机与通信学院学院,湖南 株洲 412007) 摘 要:最小二乘法曲线拟合的时间对准算法可以解决二维q 分类数据融合的时间不同步问题。要解决最小二乘法曲线拟合的时间对准算法首先要解决最小二乘法曲线拟合问题,所以如何设计一种比较好的曲线拟合算法成了关键问题。本文引用了一种最小二乘法多项式曲线拟合的算法,该多项式曲线拟合的阶数为3。仿真结果表明,该算法计算速度较快,融合效率较好。 关键词:曲线拟合;多项式;采样周期;数据融合 Study on Alignment Based on the Time of the Data Fusion Method in many sensors Huang Chunyan ,Man Junfeng (College of Computer and Communication ,Hunan University of Technology ,Zhuzhou Hunan 412007,China ) Abstract :Classification of two-dimensional q can not resolve the asynchronous problem of the time. This article advances the algorithm of alignment’s time based on curvilinear fitting,two fundamental principle of the algorithm is introduced:the principle based on curvilinear fitting and the principle based on alignment’s time ; simulation analyses the d ata’s fusion of the two sensors which have different sampling period.The result of simulation is: the talgorithm`speed in calculation is fast ant its efficiency in classification is also preferable. Keywords :curving fitting ;t ime’s alignment ;sampling period ;d ata’s fusion 0 引言 无线传感器网络的数据融合技术是一项相当重要的技术,但是一般的数据融合技术有其较大的缺点,它不能得到整个网络的数据分布以及包含数据的区域信息。二维q 分类数据融合算法解决了这两个难题,通过二维q 分类数据融合算法可以使数据融合技术得到整个网络的数据分布以及包含数据的区域信息。但是二维q 分类数据融合算法对各传感器在不同时间产生的数据信息并不能进行有效的融 合,且融合效果较差。因此,可以将q 分类结构从二维结构扩展为三维结构。通过第三维解决各传感器测量数据时间不同步的问题,即时间对准问题。 在数据融合系统中,多传感器的时间对准是非常关键的问题。时间对准就是将各个传感器的不同步的测量信息同步到同一时间。在进行数据融合之前由于各个传感器的采样起始时间、采样周期、传输延迟较难同步,从而导致测量数据不同步,因此在数据融合之前必须进行时间对准,否则未经处理的数据在进行数据融合时会出现较多问题,比如说

MATLAB中简单的数据拟合方法与应用实例①

MATLAB中简单的数据拟合方法与应用实例 仅供努力学习matlab的同学们参考参考,查阅了M多资料,总结了以下方法 按步骤做能够基本学会matlab曲线拟合的 1.1数据拟合方法 1.1.1多项式拟合 1.多项式拟合命令 polyfit(X,Y,N):多项式拟合,返回降幂排列的多项式系数。 Polyval(P,xi):计算多项式的值。 其中,X,Y是数据点的值;N是拟合的最高次幂;P是返回的多项式系数;xi是要求的横坐标 拟合命令如下: x=[1 2 3 4 5 6 7 8 9]; y=[9 7 6 3 -1 2 5 7 20]; P=polyfit(x,y,3); xi=0:.2:10; yi=polyval(P,xi); plot(xi,yi,x,y,'r*'); 拟合曲线与原始数据如图1-1 图1-1 2图形窗口的多项式拟合 1)先画出数据点如图1-2 x=[1 2 3 4 5 6 7 8 9]; y=[9 7 6 3 -1 2 5 7 20]; plot(x,y,'r*');

图1-2 2)在图形窗口单击Tools—Basic Fitting,如图1-3勾选. 图1-3 图1-3右方分别是线性、二阶、三阶对数据进行多项式拟合。下面的柱状图显示残差,可以看出,三阶多项式的拟合效果是最好的。 1.1.2指定函数拟合 已知M组数据点和对应的函数形式f t (t)=acos(kt)e X Y 编写M文件:

syms t x=[0;0.4;1.2;2;2.8;3.6;4.4;5.2;6;7.2;8;9.2;10.4;11.6;12.4;13.6;14.4;15]; y=[1;0.85;0.29;-0.27;-0.53;-0.4;-0.12;0.17;0.28;0.15;-0.03;-0.15;-0.071;0.059;0.08;0.032;-0.015;-0.02]; f=fittype('a*cos(k*t)*exp(w*t)','independent','t','coefficients',{'a','k','w'}); cfun=fit(x,y,f) xi=0:.1:20; yi=cfun(xi); plot(x,y,'r*',xi,yi,'b-'); 图1-4 运行程序,在命令窗口可达到以下运行结果,图像如图1-4 Warning: Start point not provided, choosing random start point. > In fit>handlewarn at 715 In fit at 315 In Untitled2 at 5 cfun = General model: cfun(t) = a*cos(k*t)*exp(w*t) Coefficients (with 95% confidence bounds): a = 0.9987 ( 0.9835, 1.014) k = 1.001 (0.9958, 1.006) w = -0.2066 (-0.2131, -0.2002) 从结果可以看出,拟合的曲线为: (0.2066) ()0.9987cos(1.001)*t f t t e- =。拟 合曲线给出了数据大致趋势,并给出了各参数的置信区间。

MATLAB在非线性曲线拟合中的应用研究

MATLAB 在非线性曲线拟合中的应用小结 摘要:归纳总结了非线性曲线拟合的方法、求解步骤和上机操作过程 关键词:曲线拟合非线性MA TLAB 正文: 1.曲线拟合的基本原理 已知一组测定的数据(例如N 个点(xi,yi )去求得自变量x 和因变量y 的一个近似解析表达式y=φ(x )。若记误差δi=φ(xi )-yi ,i=1,2,…N ,则要使误差的平方和最小,即要求: ∑== N i i Q 1 2δ 为最小,这就是常用的最小二乘法原理。 2 .MATLAB 曲线拟合的相关方法 2.1.函数形式: (1)多项式拟合函数polyfit ,调用格式为: p=polyfit (x,y ,n ) 其中x ,y 为参与曲线拟合的实验数据,n 为拟合多项式的次数,函数返回值为拟合多项式的系数(按降幂排列)。n=1时,就为线性拟合。 例1:给出表1数据,试用最小二乘法求一次和二次拟合多项式。 表1 数据 在MATLAB 命令窗口中输入: clear; close; x=-1:0.25:1; y=[-0.2209,0.3295,0.8826,1.4392,2.0003,2.5645,3.1334,3.7061,4.2836] p1=polyfit(x,y ,1) p2=polyfit(x,y ,2) y1=polyval(p1,x); y2=polyval(p2,x); plot(x,y ,'+',x,y1,'r:',x,y2,'k-.') 运行结果:

拟合多项式为:y*=2.0516+2.0131和y*=0.0313x2+2.2516x+2.20001 (2)非线性数据拟合函数lsqcurvefit 调用格式为: c=lsqcurvefi (t'fun',x0,xdata,ydata ) 其中'fun'为拟合函数的M -函数文件名,x0为初始向量,xdata,ydata 为参与曲线拟合的实验数据。函数返回值c 为非线性函数fun 的拟合系数。 例2:2004年全国大学生数学建模竞赛C 题(酒后驾车)中给出某人在短时间内喝下两瓶啤酒后,间隔一定的时间测量他的血液中酒精含量y (毫克/百毫升),得到数据如表2。 表2 酒精含量与饮酒时间的实验数据 通过建立微分方程模型得到短时间内喝酒后血液中 酒精浓度与时间的关系为: )(321t c t c e e c y ---= (2) 根据实验数据,利用非线性拟合函数lsqcurvefit ,确定模型(2)式中的参数c1,c2,c3。求解过程为: 先编写一个M -函数文件Example2_1: function f=Example2_1(c,tdata) f=c(1)*(exp(-c(2)*tdata)-exp(-c(3)*tdata)); 保存后,在命令窗口中输入: clear tdata=[0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 10 11 12 13 14 15 16]; ydata=[30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 8 15 12 10 7 7 4]; c0=[1 1 1];

origin两条曲线拟合步骤

o r i g i n两条曲线拟合步 骤 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

以英文版origin75为例: 首先是输入数据(以两个拟合曲线为例): 一、在origin里面增加两列:点击鼠标右键,选择add new column, 二、选择C列,并将 其设为X(点击鼠标 右键选择) 三、从excel表格中选择需要的数据复制过来 然后是曲线拟合: 一、画散点图 全选数据后点击表格左下角的散点符号即可画出散点图 二、断开两组数据的关联 任选一点,双击,将dependent改为independent 三、第一条曲线拟合 单击最小梯度数据点,然后选择analysis→fit exponential decay→ first order 这样第一条线就拟合出来了 四、第二条曲线拟合 拟合之前需要将第一条线的拟合方程剪切,因为直接拟合第二条会将第 一条曲线方程覆盖 先选择需要拟合的数据,选择data→2g1 data1:C(X),D(Y) 然后依旧是analysis→fit exponential decay→first order,然后将剪切的方程粘贴上去,这样两个方程 然后双击进行修 改。

去掉方程的文本框:鼠标放在文本框上,右键→properties→选择none即可 增加图名,右键add text即可。 最后是输出图件 一、输出图片格式 二、输出工程文件 file→export page file→save project as 单曲线拟合在输入数据的时候不需要增加列数,直接输入,然后拟合即可。 带有异常值的数据在输入时就要再增加两列输入异常值,并将其中一列设置为X,然后和两条曲线一样进行拟合即可。

计量经济学第四讲

第四节 非线性回归模型 前面讨论的线性回归模型 n i b x b x b b y i ki i i i ,,2,122110 =+++++=ε 其结构具有两个特点:(1)被解释变量y 是解释变量的线性函数,即关于解释变量线性;(2)被解释变量y 也是参数的线性函数,即关于参数线性。但是在现实经济问题的研究中,经济变量之间大多数是非线性关系,即模型为非线性回归模型。对非线性模型,通常将其转化成线性模型进行估计。本节将讨论非线性回归模型的参数估计方法以及非线性模型中参数的特定含义。 一、 可线性化模型 在非线性回归模型中,有一些模型经过适当的变量变换或函数变换就可以转化成线性回归模型,从而将非线性回归模型的参数估计问题转化成线性回归模型的参数估计,称这类模型为可线性化模型。在计量经济分析中经常使用的可线性化模型有: (一) 倒数变换模型(双曲函数模型) 模型如下: ε++=x b a y 1 ε++=x b a y 11 设: y y x x 11==* *或 即进行变量的倒数变换,就可以将其转化成线性回归模型,所以称该模型为倒数变换模型。

倒数变换模型有一个明显特征:随着x 的无限扩大,y 将趋近于极限值a(或1/a),即有一个渐近下限或上限。有些经济现象(如平均固定成本曲线、商品的成长曲线、菲得普斯曲线等)恰好有类似的变动规律,因此可以由倒数变换模型进行描述。 (二) 双对数模型(幂函数模型) 模型如下: ε++=x b a y ln ln 设: x x y y ln ln ==* * 则将其转换成线性回归模型: ε++=* *bx a y 对于双对数模型,因为有: 的增长速度 的增长速度x y x x y y x dx y dy x d y d b =??≈==////ln ln 因此,双对数模型中的回归系数b 恰好就是被解释变量y 关于解释变量x 的弹性。即当x 增长1%时y 的增长率。由于弹性是经济分析中的一个十分重要的指标(需求函数中的价格弹性、收入弹性、生产函数中的资金弹性、劳动弹性等),如果所研究的经济关系可以用双对数模型描述,则估计模型之后就可以直接利用系数b 进行弹性分析。因此,双对数模型是人们经常采用的一类非线性回归模型。 (三) 半对数模型 模型如下:

matlab曲线拟合2010a演示

2010a版本曲线拟合工具箱 一、单一变量的曲线逼近 Matlab有一个功能强大的曲线拟合工具箱cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。下面结合我使用的Matlab R2007b 来简单介绍如何使用这个工具箱。 假设我们要拟合的函数形式是y=A*x*x + B*x, 且A>0,B>0。 1、在主命令输入数据: x=233.8:0.5:238.8; y=[235.148 235.218 235.287 235.357 235.383 235.419 235.456 235.49 235.503 235.508 235.536]; 2、启动曲线拟合工具箱 cftool(x,y) 3、进入曲线拟合工具箱界面“Curve Fitting tool” 如图 (1)利用X data和Y data的下拉菜单读入数据x,y,可在Fit name修改数据集名,这时会自动画出数据集的曲线图;

(2)在红色区域选择拟合曲线类型 工具箱提供的拟合类型有: ?Custom Equations:用户自定义的函数类型 ?Exponential:指数逼近,有2种类型,a*exp(b*x) 、a*exp(b*x) + c*exp(d*x) ?Fourier:傅立叶逼近,有7种类型,基础型是a0 + a1*cos(x*w) + b1*sin(x*w) ?Gaussian:高斯逼近,有8种类型,基础型是a1*exp(-((x-b1)/c1)^2) ?Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubicspline、shape-preserving ?Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree~ ?Power:幂逼近,有2种类型,a*x^b 、a*x^b + c ?Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th degree~;此外,分子还包括constant型 ?Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思) ?Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是a1*sin(b1*x + c1) ?Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b) 在results一栏看结果

相关主题
文本预览
相关文档 最新文档