我试图理解MATLAB中基本算术运算的舍入误差,我遇到了以下奇怪的例子.
(0.3)^3 == (0.3)*(0.3)*(0.3)
ans = 0
Run Code Online (Sandbox Code Playgroud)
我想确切地知道如何计算左侧.MATLAB文档表明,对于整数幂,使用"通过平方取幂"算法.
"矩阵功率.如果p是标量,则X ^ p是功率p的X.如果p是整数,则通过重复平方来计算功率."
所以,我认为(0.3)^3并(0.3)*(0.3)^2会返回相同的值.但这种情况并非如此.如何解释舍入误差的差异?