24小时热门版块排行榜    

查看: 896  |  回复: 1

whuliuting

金虫 (正式写手)

[求助] matlab数值计算错误如何处理?

用matlab计算:log(exp(-2007))
ans=-inf而不是-2007准确结果,这该如何处理啊?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wgdxidname

木虫 (著名写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
whuliuting: 金币+2, 有帮助 2013-04-09 09:17:12
csgt0: 金币+1, 谢谢 2013-04-09 11:00:48
exp(-2007)   
ans=0
log(0)=-inf

这样的运算在逻辑没有问题,但是在数值计算中要考虑截断误差,
exp(-2007) 太小,电脑只能记为零

要避免这种问题, 可以使用符号运算, 或者把公式先进行化简。
四大皆空
2楼2013-04-08 22:47:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 whuliuting 的主题更新
信息提示
请填处理意见