24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2756  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

watertxf

铁虫 (初入文坛)

[求助] 用MATLAB编程计算为什么sin(π)精确值不是0?

用MATLAB编程计算为什么sin(π)精确值不是0?

急求帮忙,谢谢!
回复此楼

» 猜你喜欢

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

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

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
watertxf: 金币+2, ★★★很有帮助 2012-07-01 21:23:01
计算机中的浮点数都有误差的,只保证在精度范围内有效.
你可以定义一个tolerance,如果abs(结果)
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2012-06-28 15:43:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

lt292

金虫 (正式写手)

Holy Shit

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
watertxf: 金币+2, ★★★很有帮助, 谢谢 2012-07-01 21:22:52
这是因为浮点数的原因
所有计算机,所有程序语言存的浮点数都不是精确的
是变化的,有一定的误差
pi也是
经过函数运算,得到的值也是,所以sin(pi)得到的是一个非常近似0的浮点数
同理pi-pi也不等于0,而是接近于0的一个数

计算机程序常识
记忆中的颜色,慢慢褪去,变成一缕缕的黑丝,最终消失在茫茫的空白里,一去不返```
2楼2012-06-28 13:31:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fjtony163

版主 (文坛精英)

米米

优秀版主优秀版主优秀版主优秀版主优秀版主

【答案】应助回帖


感谢参与,应助指数 +1
watertxf: 金币+1, 谢谢 2012-07-01 21:23:14
这个很正常的,你假设使用10000减去一百万个0.01最后答案也不是0,应该是在1.0E-5左右,这是浮点计算时的误差
4楼2012-06-29 08:12:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见