내가 파이썬 상에 대학 과정을 데려 갈거야 "그렇지 않으면 때까지 통화 기능"을 위해 무슨 일을하는지 알 수 없을, 나는 다음과 같은 요청 할당 문제에 붙어 :가
는 기능으로 반복 쓰기 다음 인수 :
f: a function
start: a numeric starting value
tol: a numerical tolerance (default value 1e-6)
itmax: a maximum number of iterations (default value 1000)
초기 값에서 시작하여, 함수는 (예 = F (Y) Y) (Y) -y보다 작은 (F)의 절대 값까지입니다 함수에 호출을 계속 반복한다 tol 또는 반복 횟수는 itmax와 같습니다.
def approx_equal(f,start,tol,itmax):
y=start
tol=1e-6
itmax=1000
for i in range(itmax):
y=f(y)
while abs(f(y)-y) < tol or i==itmax:
break
나는 "반복 작업을 수행하는 방법을 잘 모르겠어요 : 내 코드가 맞다면
이것은 내가 지금까지 무엇을 가지고print(approx_equal(iterate(math.sqrt,1.01,tol=1e-4),[6, 1.0000777399813863]))
print(approx_equal(iterate(math.cos,0),[34, 0.7390855263619245]))
print(approx_equal(iterate(math.cos,0,tol=1e-8),[46, 0.7390851366465718]))
print(approx_equal(iterate(math.cos,0,itmax=5),[5, 0.7013687736227565]))
다음이 True해야 확인하려면 f (y) -y의 절대 값이 tol보다 작거나 반복 횟수가 itmax와 같아 질 때까지 함수를 호출합니다.
"until"을 "while"으로 생각하는 것이 도움이 될 수 있습니다. – joews