realmin"返回IEEE双精度中最小的正标准化浮点数".eps(X)"是从ABS(X)到下一个更大的与M"相同精度的芒度浮点数的正距离.
如果我正确地解释上述文档,那么realmin- 可以表示的最小正数 - 必须小于eps
(0).但:
>> realmin; % 2.2251e-308
>> eps(0); % 4.9407e-324
Run Code Online (Sandbox Code Playgroud)
显然,eps(0)甚至更小,也可以表示.有人可以向我解释一下吗?
Chr*_*lor 10
这是一个浮点问题.你应该阅读非正规数字.
简而言之,realmin返回最小的正标准化浮点数.但是,有可能使用小于此值的非正规数,并且仍可以浮点数表示,这就是eps(0)返回的数据.
非正规数的快速解释
二进制浮点数如下所示:
1.abcdef * 2^M
Run Code Online (Sandbox Code Playgroud)
其中abcdefg每个都是0或1,并且M是-1022 <= M <= 1023 范围内的数字.这些被称为标准化浮点数.可能的最小标准化浮点数是1 * 2^(-1022).
非规范数字看起来像这样
0.abcdef * 2^(-1022)
Run Code Online (Sandbox Code Playgroud)
因此,它们可以采用小于可能的最小标准化浮点数的值.非正规数在-realmin和之间线性插值realmin.