Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2011-12-13
年龄: 36
帖子: 5
声望力: 0 ![]() |
![]()
为什么0.3+0.17结果就是0呢? 还有如果我所编的程序中 有一条if语句的条件是"a>=b" 而b假设提前给定为0.45 而a又恰巧是0.3和0.15求和的结果呢 这样的话本该成立的条件便不成立了 这样的不确定性该怎么解决呢? 谢谢大家 请大家指教~
|
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2011-12-13
年龄: 36
帖子: 5
声望力: 0 ![]() |
![]()
还有如果在matlab中输入 (0.3+0.15)==0.45结果为‘假’ 而在mathematica中 虽然0.3+0.15-0.45也不为0 结果为-5.55112*10^-17 但是在mathematica 中输入(0.3+0.15)==0.45 结果为‘真’显然mathematica将此误差忽略了 而matlab却做不到 编程时有什么方法避免这个缺陷呢 谢谢
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2011-11-22
住址: 最专业的源代码、论文支持, http://gulaoshi2.blog.163.com/
年龄: 50
帖子: 7
声望力: 0 ![]() |
![]()
太恐怖了,果真如此!
|
![]() |
![]() |