MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [讨论]一个关于 fix 奇怪的问题 (https://www.labfans.com/bbs/showthread.php?t=5399)

lao4lao4 2008-11-19 16:11

[讨论]一个关于 fix 奇怪的问题
 
t = 0:0.01:0.1; %t(7) = 0.06
fix(t(7)/0.06)*0.06 - t(7) % 应该是零 可是结果却是 -6.9389e-018
t(7)= 0.06 % 给t(7)重新赋值
fix(t(7)/0.06)*0.06 - t(7) % 结果是零


:ft:

guofeng0108 2008-11-20 09:20

回复: [讨论]一个关于 fix 奇怪的问题
 
计算机的浮点运算难免有误差!!!!!
-18次基本可以认为是0 了!!!!!!

lao4lao4 2008-11-20 10:55

回复: [讨论]一个关于 fix 奇怪的问题
 
开始我也没觉得有什么,可是我当初写的是一个循环中的判断语句
for i = 1:size(t,2)
if fix(t(1)/0.06)*0.06 - t(1) == 0
……


结果怎么都不对,后来发现这个问题。用mod不会出问题
:sweat:

可能的原因不仅仅是在 fix 函数,可能与 t 的赋值有关系

guofeng0108 2008-11-20 13:47

回复: [讨论]一个关于 fix 奇怪的问题
 
也许吧!!!!!!!!!


所有时间均为北京时间。现在的时间是 05:15

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.