Tanggal :September 22, 2020

# py34. Newton’s method in Python

### A function newton is written implementing this, and used to calculate cube root of 3. Later, we will use it for more complicated cases.

`# ex34.pyfrom __future__ import print_function, divisiondef fit(x):    return 3-x**3def newton(f, tol=1E-10, x0=1, N=50, h=0.2):    for i in range(N):        df_dx = (f(x0+h/2)-f(x0-h/2))/h        x1 = x0 - f(x0)/df_dx        error = abs(x1-x0)        print("i = %d,x1 = %.4f, error = %.4e" % (i,x1,error))        if error < tol: break        x0 = x1    return x1cube_root_3 = newton(fit)print('cube_root_3 =',cube_root_3,      'nfit(cube_root_3) = ',fit(cube_root_3))#i = 0,x1 = 1.6645, error = 6.6445e-01#i = 1,x1 = 1.4708, error = 1.9363e-01#i = 2,x1 = 1.4428, error = 2.7982e-02#i = 3,x1 = 1.4423, error = 5.9354e-04#i = 4,x1 = 1.4422, error = 1.1936e-06#i = 5,x1 = 1.4422, error = 1.9106e-09#i = 6,x1 = 1.4422, error = 3.0567e-12#cube_root_3 = 1.44224957031 #fit(cube_root_3) =  -3.15303338994e-14`
Share