내 프로그램에서이 부분을 while 루프에 입력 할 수 없습니다. poly
, x_0
및 epsilon
의 값을 연결 한 후 프로그램은 evaluate_poly()
함수를 사용하여 ans
의 값을 계산합니다.이 값은 제 특정 인스턴스에서 -13.2119
입니다. 내 엡실론 값은 0.0001
입니다. abs(ans)
이 실제로 epsilon
보다 큽니다. 왜 루프를 건너 뛰고 있습니까? 조건이 참으로 평가 되더라도 코드가 루프를 건너 뜁니다.
epsilon
값에 복용했다 확인하기 위해 while 루프와도
print epsilon
문 앞에 정확하게 계산 된 있도록 바로
x_01 = 0
라인 아래에
print ans
문을 넣어.
def compute_root(poly, x_0, epsilon):
"""uses newton's method to find a root of a polynomial function"""
ans = evaluate_poly(poly, x_0)
x_01 = 0
while abs(ans) > epsilon:
Dpoly = compute_deriv(poly)
Fprime = evaluate_poly(Dpoly, x_01)
return ans
x_01 = x_0 - (ans/Fprime)
print x_01
return x_01
print ans
>>>> abs (-13.2119)> 0.0001'은 'True'를 반환합니다. – njzk2