小编Nic*_*ick的帖子

(0.3)^ 3 ==(0.3)*(0.3)*(0.3)在matlab中返回false?

我试图理解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会返回相同的值.但这种情况并非如此.如何解释舍入误差的差异?

floating-point matlab

19
推荐指数
2
解决办法
501
查看次数

标签 统计

floating-point ×1

matlab ×1