工程中非线性拟合研究 点击:445 | 回复:1



-274度冷酷

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 169回
  • 年度积分:0
  • 历史总积分:375
  • 注册:2005年1月07日
发表于:2007-11-12 23:51:00
楼主
             [b]高斯求解在工程中非线性拟合研究[/b]

    在工程中经常遇到检测反馈信值在测量范围内成非线性。为了找到反馈的特性曲线,需要找到找到该信号的特性曲线。常用的处理方法是在测量范围内记录一些点用高次方程(用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&



-274度冷酷

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 169回
  • 年度积分:0
  • 历史总积分:375
  • 注册:2005年1月07日
发表于:2007-11-13 00:08:00
1楼
怎么没有图片啊?版主,如何把图片贴上?

热门招聘
相关主题

官方公众号

智造工程师