工控网首页
>

应用设计

>

高斯求解在工程中非线性拟合研究

高斯求解在工程中非线性拟合研究

2007/11/16 10:36:00
在工程中经常遇到检测反馈信值在测量范围内成非线性。为了找到反馈的特性曲线,需要找到找到该信号的特性曲线。常用的处理方法是在测量范围内记录一些点用高次方程(用VB表示:y=Kn * X^n + Kn-1 * X^(n-1) + ••• + X + K0 )拟合求得比较精确反映特性曲线的方程来,以供进行测量值的计算。 常用的方程求解有Matlab的最小二乘法分析得到各次项的系数Kn,可以得到方程曲线。工程上常用8-10次的最高次方程进行拟合,在此不多详述Matlab求解过程。下面以VB程序介绍用高斯消元法求Kn的过程。 设定最高次幂为 m 原始采样点个数为n ’******************************* 高斯消元 Public Sub gauss(a(), m, n) For i = 1 To m + 1 求系数 For j = 1 To m + 2 For k = 1 To n If j <= m + 1 Then a(i, j) = a(i, j) + X(k) ^ (i + j - 2) ElseIf j = m + 2 Then a(i, j) = a(i, j) + (X(k) ^ (i - 1)) * Y(k) End If Next k Next j Next i For j = 1 To m + 1 If a(j, j) <> 0 Then p = 1 / a(j, j) For i = j To m + 2 a(j, i) = a(j, i) * p Next i For i = 1 To m + 1 If i <> j Then p = -a(i, j) For s = j To m + 2 a(i, s) = a(i, s) + a(j, s) * p Next s End If Next i Else For i = j To m + 1 If a(i, j) = 0 Then If i = m + 1 And j = m + 1 Then MsgBox "无法求解": End End If Else For k = j To m + 2 b = a(j, k): a(j, k) = a(i, k): a(i, k) = b Next k p = 1 / a(j, j) For k = j To m + 2 a(j, k) = a(j, k) * p Next k For k = 1 To m + 1 If k <> j Then p = -a(k, j) For s = j To m + 2 a(k, s) = a(k, s) + a(j, s) * p Next s End If Next k End If Next i End If Next j End Sub 以下是个坐标原和不同最高次幂拟合曲线的对照 原始实验坐标点
1次 y= 14.5027472527473+ 1.08585164835165x^1
2次 y= 12.7917082917083+ 1.02004245754246x^1+ 8.22614885114884E-03x^2
3次 y=11.4175824175824+1.33494630369631x^1+ 1.89615072427573E-02x^2-8.94613199300703E-04x^3
8次 y=10.1942299186883+0.850733228514144x^1+3.81548524436676E-02x^2+ .44027020706072E-03x^3-4.92273475315806E-05x^4-1.13007571106763E-05x^5+8.33088340870435E-08x^6+ .02408699225194E-08x^7-1.33735209663915E-10x^8
11次 y=10.3896801947614+1.00345443538979x^1+ .87389963225116E-03x^2-2.51752696718522E-03x^3+8.3324105545678E-04x^4+ 4.24816162732144E-05x^5-7.76314083851342E-06x^6-1.02425496342186E-07x^7+ 2.70059257973573E-08x^8-2.29556285263765E-10x^9-3.13168924170303E-11x^10+ .55524500325798E-13x^11
12次 y=9.99999997214454+1.18757659596511x^1+ .84487762109024E-02x^2-1.63272647679382E-02x^3-1.11139265945568E-03x^4+3.2289859878982E-04x^5+ .20210034116663E-06x^6-2.30664267286759E-06x^7-1.04545180118982E-09x^8+6.91576734677817E-09x^9-9.33950460956028E-11x^10-7.29140229586728E-12x^11+ 1.65560969565767E-13x^12
由以上对比分析,并不是拟合的次数越高,越接近特性曲线。当拟合次数太高时,会出现拟合失真。因此工程上常采用最高次数为8次的方程拟合。 写此文的目的是为工控同行解决曲线拟合的方法。此计算方法一般使用与非周期信号的拟合处理。现在正在做周期信号的拟合分析,采用傅立叶级数表示求得。现在基本上完成了等下次再发。希望高手多多指教。
投诉建议

提交

查看更多评论
其他资讯

查看更多

北京沃华胎面侧宽调速系统在生产线上的应用