Re: 角度平均計算
|
||||
---|---|---|---|---|
初級會員
|
您這個命題有問題!
能否告訴我們為何(0+1+359)/3不能為120,一定要為零的真正原因? 平均值公式可用來了解某一裝置在一定的量測區間內平均移動了多少距離或角度.現在假設在固定時間內您的取樣數共3個:分別為0,1,359.平均值必定為120. 除非您的359是逆轉1度時的取樣值.如果是這樣,問題出在您的取樣方法.建議你要考慮正逆轉的取樣方法,如逆轉以-1,-2...表示.那麼平均值公式就會給你正確答案. 簡單就是美!
發表於: 2007/5/7 11:43
|
|||
|
Re: 角度平均計算
|
||||
---|---|---|---|---|
資深會員
|
To Beee
真的很抱歉,不是故意要吐槽你,對不起。 這是一個有技術性的數學問題,我們在版上討論技術本來就有可能會出現錯誤,不一定會對,經過多人的討論才會有一個正確的結果,你的意見可以讓大家參考,引導大家思考,不會覺得你的演算法不好,造成你的困擾真是抱歉。
發表於: 2007/5/7 10:10
|
|||
|
Re: 角度平均計算
|
||||
---|---|---|---|---|
資深會員
|
To minusone
我使用的角度是 0~359.9不會大於360,所以在 else if (X1 >= 270) { X1 = (X1 -180) % 360; X2 = (X2 -180) % 360; X3 = (X3 -180) % 360; ANS = (X1 + X2+ X3) /3 + 180; 部份計算會無法計算
發表於: 2007/5/7 10:05
|
|||
|
Re: 角度平均計算
|
||||
---|---|---|---|---|
資深會員
|
Re: 角度平均計算
不想玩了 ! 基本上 這不是我的 case 變數範圍的大小 兩次讀值之間的變化速度有多大....... 都不是我所知曉 真正了解全盤的 是樓主本人 我們只是就我們所了解的部份 提供一些個人的 經驗,見解或猜測... 讓樓主或其他人當參考 鄭重聲明一點, 我並不是要上京趕考 所以我不想再玩下去了......
發表於: 2007/5/6 16:16
|
|||
|
Re: 角度平均計算
|
||||
---|---|---|---|---|
版主
|
不管是當成有號數或無號數,都會在某一個臨界值時產生overflow的現象,造成很奇怪的結果。
所以,若用以下的算法,如何?對不對,請再算一下吧!
前提:X1, X2, X3之間的總差值不可以大於90!
發表於: 2007/5/6 9:40
|
|||
|
Re: 角度平均計算
|
||||
---|---|---|---|---|
資深會員
|
由 Beee 貼於 2007/5/5 13:13:57
IF X > 180 THEN X = (360-X) X_TOTAL = X_TOTAL + X ........ X_ANS = X_TOTAL / N 是不是原本想寫... IF X > 180 THEN X = - (360-X) X_TOTAL = X_TOTAL + X ........ X_ANS = X_TOTAL / N 這樣子 1-->1 0-->0 359-->-1 ANS= (1+0-1)/3 =0 這樣子呢? 但是... 179-->179 180-->180 181-->-179 ANS= (179 +180 -179) = 60 -->答案應該要是180 所這部份的判斷要做很多考慮因素
發表於: 2007/5/5 13:34
|
|||
|
Re: 角度平均計算
|
||||
---|---|---|---|---|
資深會員
|
由 Beee 貼於 2007/5/5 13:13:57
IF X > 180 THEN X = (360-X) X_TOTAL = X_TOTAL + X ........ X_ANS = X_TOTAL / N 看了不是很了解...可否說明一下。 我帶值計算,執行如下 X=1 --> 1 X=0 --> 0 X=359 -->360-359=1 X_TOTAL= 2 X_ANS = 2 / 3 -->答案應該要等於0...
發表於: 2007/5/5 13:28
|
|||
|
Re: 角度平均計算
|
||||
---|---|---|---|---|
資深會員
|
請問X、Y、Z分別是指三次要平均的變數嗎?
為什麼要 +1080? 實在是不想潑你冷水...但是... (1+0+359 +1080)/3%360 = 120 -->答案應該要等於0吧... 不過還是很謝謝你提供的寶貴意見。
發表於: 2007/5/5 13:13
|
|||
|
Re: 角度平均計算
|
||||
---|---|---|---|---|
資深會員
|
IF X > 180 THEN X = (360-X)
X_TOTAL = X_TOTAL + X ........ X_ANS = X_TOTAL / N 這樣可行嗎 ?
發表於: 2007/5/5 13:13
|
|||
|