gpt4 book ai didi

matlab - 为什么在 MATLAB 中 realmax 减去一些值仍然等于 realmax?

转载 作者:行者123 更新时间:2023-12-02 06:37:46 29 4
gpt4 key购买 nike

在 MATLAB 中,如果我执行 realmax - 1000000 == realmax 我会得到逻辑 1(真)作为答案。这是为什么?

最佳答案

您得到了真实的结果,因为1000000(即1e6)的值远小于the floating point relative accuracydouble precision variable对于处于或接近最大限值的值。例如:

>> realmax-1e6==realmax  % Subtract 1 million

ans =
logical

1 % Still equal; not big enough to register a change

>> realmax-eps(realmax)==realmax % Subtract the distance to the next largest value

ans =
logical

0 % Unequal; yeah, that's big enough to matter

简而言之,在最大限制(即 eps(realmax))下可表示的数字之间的距离约为 10^292。减去 小得多1e6 得到的结果只是四舍五入到之前的值。

您可以找到有关处理 float 的更全面的解释 herehere .

关于matlab - 为什么在 MATLAB 中 realmax 减去一些值仍然等于 realmax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52101517/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com