在python中,小的数字被舍入
我想在纳秒的时间尺度上进行计算在python中,小的数字被舍入,python,numpy,precision,Python,Numpy,Precision,我想在纳秒的时间尺度上进行计算 >>> N=10 >>> A=10 >>> t = np.linspace(0,A*1e-9,N) array([0. , 0. , 0. , 0. , 0. , 0.00000001, 0.00000001, 0.00000001, 0.00000001, 0.00000001]) 但是阵列正在被舍入,我如何才能保持所需的精度 A*
>>> N=10
>>> A=10
>>> t = np.linspace(0,A*1e-9,N)
array([0. , 0. , 0. , 0. , 0. ,
0.00000001, 0.00000001, 0.00000001, 0.00000001, 0.00000001])
但是阵列正在被舍入,我如何才能保持所需的精度
A*1e-9/N
在我的机器上运行代码时,我得到:
[0.00000000e+00 1.11111111e-09 2.22222222e-09 3.33333333e-09
4.44444444e-09 5.55555556e-09 6.66666667e-09 7.77777778e-09
8.88888889e-09 1.00000000e-08]
问题在于您的打印选项,它似乎没有使用科学符号。请参阅手册中有关如何更改的部分
简而言之,您的代码很好,numpy数组的打印可能并不适合您的用例