全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
826 5
2017-08-08

一个简单的问题,在matlab命令行窗口里面,输入:

-3*(1/3)^4+4*(1/3)^3+5*(1/3)^2-5/3+1


得到正确的结果为0


但是输入:


-3*(1/3)^4+4*(1/3)^3+5*(1/3)^2-5*(1/3)+1


却得到1.1102e-16。也就是说把5/3换成5*(1/3),结果显示就不一样了。


这个极限接近与0了,但是还是感觉不爽,为什么不直接显示成0呢?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-8-10 11:55:21
自己顶顶
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-8-11 09:12:58
精度问题,你输入参数里有分数或者小数就有可能有这样的结果
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-8-16 11:30:43
lixuewei3 发表于 2017-8-11 09:12
精度问题,你输入参数里有分数或者小数就有可能有这样的结果
为什么会有精度问题呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-8-16 14:26:38
USAGame2010 发表于 2017-8-16 11:30
为什么会有精度问题呢
额,这你就要问专业人员了,经常用matlab的话你就话经常遇到这种类似的精度浮点数问题,如有一种情况,77.3350保留两位小数roundn(77.335,-2)的结果是77.33,而roundn(77.345,-2)的结果是77.35,很奇葩的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-8-20 10:05:43
lixuewei3 发表于 2017-8-16 14:26
额,这你就要问专业人员了,经常用matlab的话你就话经常遇到这种类似的精度浮点数问题,如有一种情况,77 ...
你用的是正版软件吗,我在想这是不是因为dao ban的原因
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群