簡體   English   中英

C / C ++ NaN分辨率

[英]C/C++ NaN resolution

當我運行一些代碼時,我必須將向量的元素加起來,然后重新規范化。 我得到了NaN,所以我希望解決這個問題。

例如,當x = [1,2,3]是一個vector<double>我計算sum(x) = 6 ,然后找出x/6是通過設置x[i] = x[i]/sum(x)對於x[i] = x[i]/sum(x)中的所有i。 問題是x通常持有較大的雙精度數,有時當我計算sum(x) (len(x)順便說一句, (len(x)也非常大)會得到NaN。 我該如何處理以免獲得NaN?

將其更改為存儲長雙精度可能會起作用??

您是否已驗證您的載體沒有帶NaN? 順便說一句-您使用的“范數”對於任意向量不是非負數,您確定不希望對abs(x [i])求和嗎?

檢查原始向量中的數據。 其中一些可能是和之前的NaN,因此,您有sum(x)= NaN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM