[問題] acos:domain error 的修正方法

看板C_and_CPP (C/C++)作者 (朝九晚無窮)時間15年前 (2011/03/04 16:01), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
開發平台(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
算出超出 domain 時,三角形的三邊邊長分別為多少?
03/04 16:38, 1F
回樓上大大,因為sensor 是雷達,每秒大概有10000筆資料更新 而domain error 並不會造成程式中斷,所以當跳出error訊息時 資料又過了好幾筆,囧....要知道當下的距離資料有點難Q_Q ※ 編輯: dauglas 來自: 140.113.149.164 (03/04 22:27)
文章代碼(AID): #1DS9naZf (C_and_CPP)
文章代碼(AID): #1DS9naZf (C_and_CPP)