2024-06-01 05:13:07 发布
网友
当使用symphy积分sin和cos时,输出必须相同,但cos的积分给出的值为-16阶,四舍五入后基本上为0。为什么cos的值这么低,sin的值直接为0
i/p: f=(sp.integrate(sp.cos(x),(x,-np.pi,np.pi))) o/p: 2.44929359829471e-16
i/p: f=(sp.integrate(sp.sin(x),(x,-np.pi,np.pi))) o/p: 0
浮点数(基本上是十进制数)的精度有限,有时会导致一些奇怪的事情
例如0.1 + 0.2将给出0.30000000000000004
0.1 + 0.2
0.30000000000000004
在您的示例中,e-16非常小,基本上如您所说为零,但在计算过程中,余弦值可能存在舍入误差,但正弦值恰好不是这样。你可以尝试不同的sin积分范围,可能会发现同样的事情发生
浮点数(基本上是十进制数)的精度有限,有时会导致一些奇怪的事情
例如
0.1 + 0.2
将给出0.30000000000000004
在您的示例中,e-16非常小,基本上如您所说为零,但在计算过程中,余弦值可能存在舍入误差,但正弦值恰好不是这样。你可以尝试不同的sin积分范围,可能会发现同样的事情发生
相关问题 更多 >
编程相关推荐