原创 分析处理(4)之曲线拟合

2008-6-27 20:15 4765 7 7 分类: 测试测量
曲线拟合的目的是找出一系列的参数a0, a1, … …,通过这些参数最好地模拟实验结果。下列是LabVIEW的各种曲线拟合类型:* 线性拟合 – 把实验数据拟合为一条直线y=a0+a1*X* 指数拟合 – 把数据拟合为指数曲线y=a0*exp(al*X)* 多项式拟合 – 把数据拟合为多项式函数:  y=a0+a1*X+a2*X^2…*通用多项式拟合 – 与多项式拟合相同,但可以选择不同的算法,以获得更好的精度和准确性。*通用线性拟合 – 公式为y=a0+a1*f1(X)+a2*f2(X)…,这里y是参数a0, a1, a2…等的线性组合。通用线性拟合也可以选择不同的算法来提高精度和准确度。例如:y=a0+a1*sin(X)是一个线性拟合。因为y与参数a0, a1有着线性关系。同样道理,多项式拟合也总是属于线性拟合,但是它可以采用一些特殊算法以提高拟合处理的速度和精度。*General Levenberg-Marquardt拟合 – 把数据拟合为公式y=f(X, a0, a1, a2…)。其中a0, a1, a2…是参数。这种方法是最通用的方法,它不需要y与a0, a1, a2…有线性关系。它可用于线性或非线性拟合,但一般用于非线性拟合,因为对于线性曲线的处理采用通用线性拟合方法更加快捷。这种方法不能保证结果一定正确,所以,有必要验证拟合结果。 

应用练习


目的:对指数关系数据进行线性拟合 前面板:


点击开大图


1.      打开Linear Curve Fit.vi程序。这个例子假设我们收集了10对实验数据t和y,我们有理由相信它们之间有线性关系。 2.      切换到框图程序。 框图程序:


点击开大图


1. 验证框图程序,它使用了如下的子程序:Linear Fit子程序(在Analysis>Curve Fitting子模板)。在本例中,它把实验数据拟合为一条直线,求出系数a和b,以满足y=a+b*t;以及实验结果和拟合结果之间的误差的均方根值。 2. 输入数据是一个两维数组,是采用DAQ卡采集数据时的通用格式。我们用Index Array子程序可以分解得到两个一维数组y与t。 3.“MSE”表示误差均方根值,误差越小,拟合结果越好。 4. 运行该程序。曲线将显示实验数据和拟合结果。 =========================================== 


应用练习2


目的:对指数数据执行多项式拟合前面板: 1. 打开Polynomial Fit.vi程序。这个例子假设实验数据之间为多项式关系:  y=a0+a1*t+a2*t^2… 2. 当多项式为一阶时,有两个参数,结果是一个线性拟合,与前一个例子相同。当阶数为二阶时,结果是一个二阶多项式带三个参数,多项式参数存放于数组a


点击开大图


3.  切转到框图程序。 框图程序:


点击开大图


 1. 验证框图程序,它使用了如下的子程序:General Polynomial Fit.vi子程序(在Analysis>Curve Fitting子目录)在本例中,把实验数据拟合为二阶多项式曲线,返回结果为拟合数据,多项式系数以及拟合误差的均方根值。 2. 本例使用多项式拟合,求出了多项式系数a0,a1,a2等。一般情况下,我们总是尽可能使用最低阶的多项式。 3. 运行程序。将显示实验数据和拟合结果的数据。 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条