숫자의 제곱근을 찾는이 재귀적인 의사 코드를 누군가 나에게 설명 할 수 있습니까? n, p, 그리고 e 입력이 무엇을 나타내는 지 알지 못하기 때문에 이해하기 어렵습니다. 감사.재귀를 사용하는 제곱근 (Newton 's Algorithm)
if abs(e^2 - n) < p
SR(n,p,e) = e
else
SR(n,p,e) = SR(n,p,(e+n/e)/2)
(e begins at n)
숫자의 제곱근을 찾는이 재귀적인 의사 코드를 누군가 나에게 설명 할 수 있습니까? n, p, 그리고 e 입력이 무엇을 나타내는 지 알지 못하기 때문에 이해하기 어렵습니다. 감사.재귀를 사용하는 제곱근 (Newton 's Algorithm)
if abs(e^2 - n) < p
SR(n,p,e) = e
else
SR(n,p,e) = SR(n,p,(e+n/e)/2)
(e begins at n)
, n은 당신의 제곱근, e는 제곱근에 대한 추정치 할 번호이며, p는 즉 당신이 참을하고자하는 오류 당신이 원하는 정밀도입니다. 알고리즘은 다음과 같이 말합니다 : e가 "충분히 가깝다", 즉 e^2가 p의 n 이내이면 e가 찾고있는 답변입니다. 그렇지 않은 경우 더 좋은 예상치를 사용해보십시오 (e + n/e). 2. 왜 그게 더 좋은가요? 만약 e가 sqrt (n)보다 크면, n/e는 sqrt (n)보다 작을 것이므로 sqrt (n)은 e와 n/e 사이가 될 것이므로 e와 n/e의 평균을 다음 견적. (e가 sqrt (n)보다 작 으면 반대입니다. 이 도움이
희망,
브루스
그냥 "더 나은 추정"하나 명의 추정에서가는 것보다 뉴턴의 알고리즘에 오히려 더있다. 더 나은 추정치가 왜 그런지에 대한 자세한 수학이 있습니다.
생각은 즉, (떨어져 몇 가지 예외적 인 경우에서) 형태 f(x) = 0
의 모든 방정식에 대한 해결책을 찾기 위해 당신이 x
에 근사이있는 경우, 당신은의 비율로보고, 더 나은 근사치를 얻을 수있다 변경 f(x)
(종종 f'(x)
이라고 쓰여 있음)을 사용하여 예상치를 조정해야하는 금액을 계산하여 실제 솔루션을 훨씬 더 정확하게 예측할 수 있습니다. 제곱근의 경우
f(x)=x^2-n
및
f'(x)=2x
는 다음
f(x)=0
수있는 권한
x
을 찾기 위해 뉴턴의 알고리즘을 사용하여 작성할 수
x=sqrt(n)
을 찾고 싶어요. 이것이 의미하는 바는
e
이라면 다음 추정값을 산출하기 위해
f(e)=e^2-n
을보고, 우리는이 오류를 없애기 위해
e
을 얼마나 바꿔야하는지 묻습니다.
f
의 변화율이 이고
(e,e^2-n)
인 지점에
f'(x)
이 있으므로 을
2e
으로 나누어 다음 추정치를 얻기 위해
e
을 얼마만큼 조정해야하는지 알아야합니다.
입니다
, 우리의 다음 추정의 일부가되며 http://www.math.brown.edu/UTRA/linapprox.html에서 (사랑스러운 작동 방법을 설명 다이어그램을 가지고) http://tutorial.math.lamar.edu/Classes/CalcI/NewtonsMethod.aspx에서 찾을 수 있습니다 뉴턴의 알고리즘에
e - (e^2-n)/2e
= e - (e/2) + (n/2e)
= (e + n/e)/2
더 많은 정보이어야한다 더 기술적 인 세부 사항.
p는 알고리즘의 프리젠 테이션에 대한 허용 오차 인 것처럼 보입니다 –
이것은 조금 더 나은 것을 설명합니다 : http://stackoverflow.com/questions/7002094/how-to-find-square-root-of-a- 수를 사용하는 재귀 함수 – sdanzig