角度的平均值0和360是一樣的,那麼平均值該怎麼去計算呢?例如求5度和355度或者更多的數平均?

時間 2021-10-21 06:32:01

1樓:namespacE

好問題。

最近在寫stm32的程式,對乙個陀螺儀的讀數結果進行多次測量取平均來減小誤差。眾所周知stm32的浮點運算效能是十分拉垮的,所以樓上用sin和cos的方法看似很有效,實則增大了很多運算量。

但是如果使用一些固定的純算術演算法,好像總能構造出反例讓平均值的計算出問題。

所以我重買了乙個內建了硬體卡爾曼濾波的陀螺儀

當然除了鈔能力以外,解決這個問題也是有純算數方法解決的。

解決問題的關鍵就在於讓參與計算的各個角度之間的差都不要超過180度。最簡單的方法是將所有的角度的【數值】通過加減360的方法挪到離第乙個角度±180的範圍之內,這樣就可以隨便取平均了。

當然最後結果有可能超出360,對360取模就好了。

例如:355,0,5,10

先變成355,360,365,370

然後平均362.5

最後對360取模得出平均角度2.5度。

再例如:5,0,355,350

先變成5,0,-5,-10

然後平均-2.5

最後對360取模得平均角度357.5度。

美滋滋補充:這麼應用還是有乙個前提的,就是這些角度的測量值在空間上都比較相近。如果一會測0度一會測180度,那平均值到底是90度還是-90度呢?

所以資料太離譜的話肯定沒法求,不管什麼演算法都沒法求的

2樓:桃子

可以圓中的角度想象成乙個向量 x=(cosα,sinα),然後用平面向量的方式解決這個問題。

具體做法,參考以下部落格,共同進步

角度的均值與標準差(circular data/ directional statistics)

3樓:yuan

樓上的方法對於我提出的特例是可以的,但是通用的卻不行。

我的做法是把180-360之間的數移到-180-0。原來的0-180剛好和-180-0形成對稱的區間,然後相加求和平均,結果如果是負值就再+360。但是在180附近不行

求解釋隨機變數的算術平均值的期望和期望的關係?

Moore Donnely 如果隨機變數滿足某些條件使得大數律成立,那麼你產生很多很多iid的隨機數,這些隨機數的算術平均值會和分布的期望很接近 當n趨於無窮時,算術均值在某種意義下趨於期望 就以拋硬幣為例,你拋一枚均勻的硬幣,當正面朝上時就記為1,反之記為0。那你每拋一次硬幣就相當於產生了乙個服從...

僅以鍛鍊身體的角度看,跳繩和跑步一樣嗎?

歲月忽已暮 看自己的喜好了,看自己到底是喜歡跑步呢還是跳繩呢兩個的感覺是不一樣的 跳繩的話略微帶了一點無氧,如果是一直跳下去的話還是比較累的。但是說堅持的話,每天這個身體的耐力也是會提公升的 跑步的話是一項有氧運動,我個人的話是比較喜歡的。尤其是速度慢一點,非常舒服是一種享受 哦哦 堅持長距離跑,能...

收銀和出納是一樣的嗎?

21世紀富女 完全不一樣。現在出納的工作內容 單位收付款 對公收付款是有點小要求的,網銀匯款理由什麼時候該寫,什麼時候不該寫,寫什麼 發票開具 普票 專票 根據合同怎樣開?承兌匯票接觸過嗎?銀行承兌匯票,商業承兌匯票。能要不能要承兌匯票,怎麼貼現?甚至有的出納賬務處理,是你完全接觸不到的,也是不考證...