1 引言
在工业生产实践中,系统误差是不可避免而又必须加以校准的。对其较典型的处理是用模型法的非线性校正,即对系统误差进行理论分析和数学处理以建立起系统误差模型,再以此模型确定校正算法和数学表达式。作者在进行系统误差非线性校正中,除采用了传统的分段线性插值法,还根据具体情况采用了作者命名为逐次逼近线性插值法进行处理。通过对两种方法结果的比较,认为逐次逼近线性插值法效果良好,具有一定的实用价值。线性化处理软件编程法分三种方法:计算法、查表法、插值法;其中,插值法又分分段线性插值法、二次插值法、分段曲线拟合法、实验曲线的自动拟合法等。下面先简介分段线性插值法。
2 分段线性插值法
此法较为常用,基本方法就是将y=f(x)曲线分成几段直线代替曲线。如图1示。
设非线性函数y=f(x)在区间[x0,xm]是单调的。过点(x0,f(x0)),(xm,f(xm))作直线U=F(x)=Ax+B,则在直线段区间中,其拟合误差:
若该段最大误差点不大于允许误差时,可用直线U=F(x)拟合曲线u=f(x),否则可将区间再细分分化为两个子区间,分别作折线进行误差判断。这样按上述方法不断进行区间划分,直至各子区间m(x)均满足为止。
由于输入-输出函数的非线性,且要求各子区间的拟合最大误差满足△max≤δ,因而各子区间长度不一。这就涉及到了区间划分问题。分段线性插值法使用优选法进行区间划分,即使用系数0.618。如图1所示,从xm处向低值截取xk=0.618(xm-x0)的一段为第二区间,(x0,xk)为第一区间。连接点(xk,f(xk)),(xm,f(xm)),既得区间[xk,xm]的拟合折线为:
F1=A1x+B1
A1=(f(xm)-f(xk))/(xm-xk),B1=f(xm)-A1x1m
依次类推,可知第i个子区间的拟合折线为:
Fi=Aix+Bi
Ai=(f(x(i+1)m)-f(xim))/(x(i+1)m-xim),Bi=f(xim)-Aixim
若f(x)为非单调曲线,则可先通过df/dx=0求出各极点,以便化为单调区,再在各单调区间应用上述方法进行拟合。
3 逐次逼近线性插值法
作者在对分段线性插值法的作用中发现,该法中公式的系数取0.618,这对均匀数组来说易引起编程错觉。如在求区间段中,当m-k=2时,X=x[m]-0.618(x[m]-x[k]),则x[m]若数组个数为m+1个,则在区间(x[0],x[m])范围内,令X=x[m]-0.5(x[m]-x[0])进行第一次划分,若X=x[k]或x[k]4 方法比较
用以上两种方法分别对采集数组进行了公差为0.001mm,0.015mm和0.002mm的区间计算,所得折线公式数(区间数)如下表所示。
δ
| 0.001
| 0.015
| 0.002
|
区间数
|
方法
|
分段线性插值法
| 73
| 27
| 13
|
逐次分段线性插值法
| 75
| 29
| 13 |
4 结束语
由上述实验数据可以看出,逐次逼近线性插值法效果同传统分段线性插值法基本相同,分段区间较少,线性化良好,其思维方式符合编程习惯,编程清晰,具有一定的实用价值。该法为非线性校正又增添了一种新的可供选择的方案。
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。