python - Python 中的浮点精度

标签 python math floating-point precision floating-point-precision

我写了this function在 python 中:

import math

def radical(a, b, k): 
    return (1-((a**2-b**2)/a**2)*(math.sin(math.pi*(2*k-1)/180))**2)**.5

def f(a, b): 
 sigma = 0 
 for k in range(1,180/4):
    sigma = sigma + radical(a, b, k)
 return 8*a*math.sin(math.pi/180)*sigma

print f(25.,35.)

当我在 Wolphramapha 和 Maple 中计算这个函数时,我将得到 189.797 但使用 python I will get 184.91089913 我的程序有什么问题?

最佳答案

你差一分。 range 方法排除终点。尝试添加一个:

for k in range(1,180/4 + 1):

结果:189.797208409

关于python - Python 中的浮点精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650155/

相关文章:

python - 无法使用 cv2.imread() 读取图像

python - 使用 python 在 linux 上运行 phantomjs

python - 在字符串/数组中存储多个函数值 (Python)

python - 如何允许用户输入各种各样的内容并让它们在 numpy 数组中工作?

json - 如何在 F# 中对数学向量类型进行 JSON 序列化?

Python 字典 float

python - 如何在Python中有效存储非常大的列表

javascript - 在 Javascript 中计算 RGB 色 block 平均值的更有效方法

MySQL JSON存储不同的浮点值

python - python中的负零