MATLAB 机器 Epsilon
作者:迹忆客
最近更新:2023/04/22
浏览次数:
本教程演示了 MATLAB 中的机器 epsilon。
MATLAB 机器 Epsilon
机器精度,也称为机器 Epsilon,是双精度算术数的特征。 这些双精度数是标准的 IEEE 754,MATLAB 使用它来存储浮点数,这些浮点数是实数的近似值。
Machine Epsilon 的定义是浮点表示的最大可能相对误差,具体取决于尾数的位数。 在数学上,对于根据以下等式四舍五入的尾数的 t 位:
此等式的 Machine Epsilon 是:
Machine Epsilon 始终取决于实现。 计算精度总是在硬件方面受到用于计算的寄存器大小的限制。
计算精度受到软件端表示浮点数的数据类型的限制。 根据 IEEE 754 标准,双精度数被编码为 64 位,因此 Machine Epsilon 越低,相对精度计算就越大。
大多数情况下,Machine Epsilon 用于研究舍入误差的影响。 MATLAB有自己的eps方法来计算机器epsilon; 我们尝试了一个比较 MATLAB 和用户定义的 epsilon 的示例:
macheps = double(1.0);
previous_macheps = macheps;
while(1 < (1 + macheps))
previous_macheps = macheps;
macheps = macheps / 2;
end
disp('Our macheps function: ');
disp(previous_macheps);
disp('Built-in MATLAB macheps function: ');
disp(eps);
上面的代码使用用户定义的方法和内置的 MATLAB 函数 eps 计算机器 Epsilon。 查看输出:
Our macheps function:
2.2204e-16
Built-in MATLAB macheps function:
2.2204e-16
相关文章
MATLAB 检查变量类型
发布时间:2023/04/23 浏览次数:92 分类:MATLAB
-
在本教程中,我们将讨论如何使用 MATLAB 中的 class() 和 whos 函数检查给定变量的类型。