当我尝试获得一般梯形近似的误差时
(要使用的误差方程是:(1/3)*(I2-I1)
我得到-0.0
。我希望这个是浮动的,但在显示之后它不会显示小数点后的任何数字。我该如何解决?
这是代码:
error = float((1/3)*(dx*(y[3] +y[2]) - dx* (y[1] + y[0]*0.5)))
print error
其中y是值数组
[ 1. 0.8001 0.6016 0.4081 0.2256 0.0625 -0.0704 -0.1599
-0.1904 -0.1439 0. 0.2641 0.6736 1.2561 2.0416 3.0625
4.3536 5.9521 7.8976 10.2321 13. ]
y 的等式为x**4 - 2*x + 1
x 绑定为0. -> 2.
答案 0 :(得分:1)
那是因为等式中的1/3最终是一个整数运算,并最终将计算的其余部分转换为整数数学。