看板 MATLAB 關於我們 聯絡資訊
我要計算 log(20^-20+a+b),但是當 a=-b 的時候會出錯,例如 log(20^-20+1-1)=-Inf log(20^-20)=-59.914645471079822 請問要怎麼避免這種問題? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.79.107
diva:我猜錯誤的原因是20^-20比起1和-1小太多了 04/26 23:16
diva:20^-20+1時 20^-20就備省略掉了 04/26 23:16
diva:於是20^-20+1-1 實際上就是1-1而已 04/26 23:17
diva:解決的方法是log(20^-20+(1-1)) 先把後面算完 04/26 23:19
diva:避開省略造成的錯誤 04/26 23:19
diva:或者是log(1-1+20^-20) 04/26 23:20
diva:Matlab好像是從左邊算到右邊 我不太確定C是不是也是這樣 04/26 23:21
diva:請會得人幫忙解答一下吧 04/26 23:21
okgogogo:log(20^-20+(a+b)) 04/27 00:18