제곱근 명령을 사용하지 않고 숫자의 제곱근을 찾는 함수를 만들려고합니다. 그건 내가 지금엡실론의 정확도를 얻으십시오
def mySqrt(b, e) :
sqrt = b**.5
내가이 많은 다른 접근을 시도했지만 내가 엡실론에서 구현하는 방법을 알아낼 수있는 기본 코드가 어떤 라이브러리없이 엡실론의 정확도에 대한 답을 얻을 수 e
제곱근 명령을 사용하지 않고 숫자의 제곱근을 찾는 함수를 만들려고합니다. 그건 내가 지금엡실론의 정확도를 얻으십시오
def mySqrt(b, e) :
sqrt = b**.5
내가이 많은 다른 접근을 시도했지만 내가 엡실론에서 구현하는 방법을 알아낼 수있는 기본 코드가 어떤 라이브러리없이 엡실론의 정확도에 대한 답을 얻을 수 e
반복적 인 방법 인 Newton's method을 구현하면 많은 방정식을 임의의 정밀도로 풀 수 있습니다.
def my_sqrt(a, e):
diff = e + 1 # random diff > e
sqrt = 1.0 # start must not be 0
while diff > e:
sqrt = sqrt - (sqrt * sqrt - a)/(2 * sqrt)
diff = sqrt * sqrt - a
if diff < 0: # make sure diff is positive without calling abs
diff = -1 * diff
return sqrt
>>> my_sqrt(2, 0.00001)
1.4142156862745099
합격자는,이 resquaring 후 계정에 엡실론를 취합니다
또는 파이썬 코드의 제곱근에 적용되는 재귀 간다. 결과는 엡실론 안에 루트 자체를 가져 오는 것보다 실제로 더 정확합니다.
어떻게하면 되겠습니까? –
@nick 'abs' 호출을 제거했습니다. – schwobaseggl
아쉽게도 죄송합니다.이 작업은'sqrt = sqrt - (sqrt * sqrt -a)/(2 * sqrt)' –
babylonian method을 사용하여 제곱근을 찾습니다. 정확도 검사에 대해서는 표준 sqrt
함수가 필요하고 백분율 오차로 (expected-outcome)/expected
을 계산하십시오.
이 예를 보여줄 수 있습니까? –
무엇이 '엡실론에 대한 정확성으로 대답을 얻는다'는 의미입니까? –
엡실론 –
의 정확도에 대한 답을 얻습니다. 파이썬, 제곱근, 뉴턴 법 등의 검색 용어를 사용하십시오. 추측을해라. 정확한지 확인하십시오. 이전 추측에서 배운 것을 토대로 다른 추측을하십시오. 그것의 정확성을 확인하십시오; repeat ... – wwii