利用MATLAB进行实验数据处理
摘要 在科学实验中,我们常需要对大量实验数据进行处理以得到或者验证某些结论。本文介
绍了利用MATLAB软件进行多项式插值和拟合以及简单的数值微积分处理。并且在介绍曲线拟合
的时候我们又介绍了最小二乘法原理及利用最小二乘法线性拟合,还有将指数形式的模型转化
为线性模型进行处理。
关键字 MATLAB;多项式插值;曲线拟合;最小二乘法;微积分
利用MATLAB进行实验数据处理
1.引言:
在实验中,很少能直接用分析方法来求得系统变量之间函数关系,一般都是利用测得的一
些分散的数据节点,运用各种拟合方法来生成一条连续的曲线。然后由这条曲线,总结出更为
一般的规律从而得出结论。比如,我们经常会碰到形如y= f(x)的函数。从原则上讲,该函数
在某个[a,b]区间上是存在的,但通常只能获取它在[a,b]上一系列离散节点的值(即观测数
据)。函数在其它 点上的取值是未知的,这时只能用一个经验函数 对真实函数
x y= g(x)
y= f(x)作近似。
根据实验数据描述对象的不同,常用来确定经验函数y= g(x)的方法有两种:插值和拟合。
这就涉及到一个测量值准确与否的问题。如果测量值是准确的,没有误差,一般用插值;如果
测量值与真实值有误差,一般用曲线拟合。在 MATLAB 中,无论是插值还是拟合,都有相应
的函数来处理。
还有一个问题就是,在工程实践与科学应用中,经常要计算函数的积分与微分。当已知函
数形式来求函数的积分时,理论上可以利用牛顿-莱布尼兹公式来计算。但在实际应用中,经常
接触到的许多函数都找不到其积分函数,或者函数难于用公式表示(如只能用图形或表格绘出),
或者有些函数在用牛顿-莱布尼兹公式求解时非常复杂,有时甚至计算不出来。微分也存在相似
的情况,此时,需考虑这些函数的积分和微分的近似计算。
下面我们对这些问题给以介绍并应用MATLAB进行处理。
2.多项式插值和拟合:
设 ,已知有 对节点 , ,其中 互不相
a= x < x
0 1 n i i i
同,这些节点 , 可以看成是由某个函数 产生的。 的解析表达
(x,y) i= 0,1,2⋯,n y= f(x) f
i i
式既可能是复杂的,也可能不存在封闭形式,甚至可能是未知的。那么对于 x≠ xi,如何确定
对应的 值呢?
yi
当利用插值技术来解决时,需构造一个相对简单的函数 ,使 通过全部的节点,
y= g(x) g
即 , ,用 作为函数 的近似。可以看出,在插值方法中,假
y = g(x) i= 0,1,2⋯,n g(x) f(x)
i i
设已知数据正确,要求以某种方法描述数据节点之间的关系,从而可以估计别的函数节点的值。
即多项式插值是根据给定的有限个样本点,产生另外的估计点以达到数据更为平滑的效果,这
种技术在信号处理与图像处理上应用广泛。
拟合方法的求解思路与插值不同,在拟合方法中,人们设法找出某条光滑曲线,它最佳地
拟合已知数据,但对经过的已知数据节点个数不作要求。当最佳拟合被解释为在数据节点上的
2