2016-07-11 9 views
0

파이썬 및 일반적으로 부동 소수점 정밀도에 대한 많은 질문과 기사가 있습니다. 그러나 나는이 질문에 대한 답을 찾지 못했다.Python : 함수 내외부의 정확도가 다릅니다.

나는 한 번 함수를 호출하고 두 번째 함수없이 한 번 같은 구문을 계산할 것이다. 함수에 의해 계산 된 값은 0.003만큼 빗 나지 않습니다. 함수에서 동일한 정밀도를 얻으려면 어떻게해야합니까?

from scipy.stats import norm 
from math import * 

sigma = 0.174 


def g(ltv): 
    ans = 1 - norm.cdf(0.5 * pow(sigma, 2) - log(ltv)/sigma) 
    print(ans) 

g(0.7) 

ans1 = 1 - (norm.cdf((0.5 * pow(sigma, 2) - log(0.7))/sigma)) 
print(ans1) 

출력 :

0.0194617840206

0.016304852863

+4

두 계산이 동일하지 않습니다. 간단한 오타로 닫습니다. –

+0

"나는 같은 진술을 계산 중입니다."- 단지 같은 진술이 아닙니다. 서로 다른 그룹으로 다시 타이핑하지 않고 두 영역 모두에 똑같은 라인을 복사하여 붙여 넣는 것은 어떻습니까? – TigerhawkT3

답변

5

저도 같은 문

아니, 당신은 아니에요을 계산하고있다. 이

0.5 * pow(sigma, 2) - log(ltv)/sigma 

(0.5 * pow(sigma, 2) - log(0.7))/sigma 

사업자의 precedence, 친구에 해당하지입니다.

+0

[운영자 우선 순위] (https://docs.python.org/2/reference/expressions.html#operator-precedence) – MattH

관련 문제