[問題] acos:domain error 的修正方法
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
BCB
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
版上的高手大家好,目前遇到的問題為
使用acos算角度,會有domain error 的問題
爬文後,大概知道是因為求出的cos 超過 -1 ~ 1 所以丟進去 acos 就爆了
之前的文章有大大建議abs(cos) 大於1時 就讓 cos-0.000001
我想問的是,如果我讓cos > 1 時 cos= 1
cos <-1 時 cos=-1
其他 時 cos= cos
這樣算acos保證不會有 domain error 但這種假設合理嗎??
謝謝各位<(_ _)>
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
補充一點,我的cos是用餘弦定理算出來的,這篇要問的應該是...
cos 會超出 domain 是餘弦定理問題,還是浮點數計算的問題?
如果是浮點數出問題,那我這樣令是不是合邏輯?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.149.164
※ 編輯: dauglas 來自: 140.113.149.164 (03/04 16:10)
推
03/04 16:38, , 1F
03/04 16:38, 1F
回樓上大大,因為sensor 是雷達,每秒大概有10000筆資料更新
而domain error 並不會造成程式中斷,所以當跳出error訊息時
資料又過了好幾筆,囧....要知道當下的距離資料有點難Q_Q
※ 編輯: dauglas 來自: 140.113.149.164 (03/04 22:27)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章