新闻资讯
看你所看,想你所想

数据拟合

数据拟合

数据拟合

数据拟合又称曲线拟合,俗称拉曲线,是一种把现有数据透过数学方法来代入一条数式的表示方式。科学和工程问题可以通过诸如採样、实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函式(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做拟合(fitting)

基本介绍

  • 中文名:数据拟合
  • 外文名:Curve fitting
  • 性质:拟合
  • 属性:数据
  • 函式拟合:a=polyfit(xdata,ydata,n)
  • 学科:数理科学
  • 别名:曲线拟合

定义

曲线拟合,俗称拉曲线,是一种把现有数据透过数学方法来代入一条数式的表示方式。
在MATLAB的NAG Foundation Toolbox中也有一些曲面拟合函式,如e02daf是最小二乘平方曲面拟合函式,e02def可求出曲面拟合的函式值。
MATLAB软体提供了基本的曲线拟合函式的命令.

拟合直线或多项式曲线

方程
在笛卡尔平面上是一条直线,而这条直线的斜率是a。因为任何两点可以决定一条直线,因此总能找到次数不多于1的多项式来串起任何两个x值相异的点。
如果把多次式的次数增加到2
那幺只要给定x值各异的3点,总会有次数不多于2的多项式可以把它们串起。
如果把多次式的次数再增加到3
那幺只要给定x值各异的4点,总会有次数不多于3的多项式可以把它们串起。
对于这条多项式,更正确的描述是这条多项式附合任何4个限制。限制可以是一点(x,y)、角度或曲率(即半径的倒数 1/R)。角度和曲率的限制通常在曲线的终端,因此称为终端条件。为了样条(spline) 的交接平滑,通常会用到全等的终端条件。 也可以增加如曲率变化等高阶约束。例如,在高速公路立体交叉点cloverleaf的设计中,可以用来理解当汽车绕着交叉点运动时作用在汽车上的力,并依此设定合理的限定时速。
一次多项式也可以拟合一个单点和一个角度,三次多项式则可以拟合两点,一个角度约束以及一个曲率约束。许多其它类型的约束组合也同样可以用低阶或者高阶多项式来拟合。
如果有超过n+1个约束(n是多项式的阶次),仍然可以使用多项式拟合。通常一个满足所有约束的精确拟合不一定能够得到(但是有可能得到,例如,用一次多项式拟合共线的三点三点共线)。通常,我们需要使用一些方法来评价拟合的好坏。最小平方法就是用来评价差别的一种常用的方法。

Matlab实现方法

多项式函式拟合

a=polyfit(xdata,ydata,n)
其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式 的係数 ,相对应的次数为由高到低。
多项式在x处的值y可用下面程式计算。
y=polyval(a,x)
有了x和y就可以把拟合的图形画出来,并且同时与原图对比
plot(xdata,ydata,x,y)

一般的曲线拟合

p=curvefit(‘Fun’,p0,xdata,ydata)
其中Fun表示函式Fun(p,data)的M函式档案,p0表示函式的初值.curvefit()命令的求解问题形式是
若要求解点x处的函式值可用程式f=Fun(p,x)计算。
例如已知函式形式 ,并且已知数据点 要确定四个未知参数a,b,c,d.
使用curvefit命令,数据输入 ;初值输 ;并且建立函式 的M档案(Fun.m).若定义 ,则输出

曲线拟合实验图

利用COMSOL Multiphysics 拟合实验,见下图1。
图1 曲线拟合样图图1 曲线拟合样图

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com