返回列表 上一主題 發帖

[發問] 如何判斷週期訊號?

回復 1# acdx
例子怪怪的 若固定周期16.1,則 fm(1) 應為 46.9;fm(0) 應為 30.8
這樣兩個都有偏差都要排除?

TOP

回復 5# acdx
用回歸直線的方法排除差異過大的值,看看是否有幫助,
須注意這裡用的回歸直線是包含偏差值的資料所推出的直線,
所以deltaY值請自行斟酌
  1. Sub Test()
  2.     Dim d, fm
  3.     Dim a, b, it
  4.     Dim deltaY
  5.    
  6.     fm = Array(32.2, 44.3, 63, 79.1, 95.2, 111.3)
  7.     Set d = CreateObject("scripting.dictionary")
  8.     For i = 0 To UBound(fm)
  9.         d(i) = fm(i)
  10.     Next
  11.    
  12.     '回歸直線  fm=ax+b
  13.     a = WorksheetFunction.Index(WorksheetFunction.LinEst(d.items, d.keys), 1)
  14.     b = WorksheetFunction.Index(WorksheetFunction.LinEst(d.items, d.keys), 2)
  15.    
  16.     deltaY = 1.5  '與回歸線Y軸上的容許誤差
  17.     For Each it In d.keys
  18.         '排除誤差過大的值
  19.         If Abs((it * a + b) - d(it)) > deltaY Then d.Remove it
  20.     Next
  21.    
  22.     MsgBox Join(d.items, ",")
  23.     Set d = Nothing
  24. End Sub
複製代碼

TOP

        靜思自在 : 是非當教育,讚美作警惕。
返回列表 上一主題