2018-10-19 07:48:28 -05:00
|
|
|
import math
|
|
|
|
|
|
|
|
|
|
def intersection(function,x0,x1): #function is the f we want to find its root and x0 and x1 are two random starting points
|
|
|
|
|
x_n = x0
|
|
|
|
|
x_n1 = x1
|
|
|
|
|
while True:
|
|
|
|
|
x_n2 = x_n1-(function(x_n1)/((function(x_n1)-function(x_n))/(x_n1-x_n)))
|
2018-11-05 18:19:08 +01:00
|
|
|
if abs(x_n2 - x_n1) < 10**-5:
|
2018-10-19 07:48:28 -05:00
|
|
|
return x_n2
|
|
|
|
|
x_n=x_n1
|
|
|
|
|
x_n1=x_n2
|
|
|
|
|
|
|
|
|
|
def f(x):
|
2018-11-05 18:19:08 +01:00
|
|
|
return math.pow(x , 3) - (2 * x) -5
|
2018-10-19 07:48:28 -05:00
|
|
|
|
2018-11-05 18:19:08 +01:00
|
|
|
if __name__ == "__main__":
|
|
|
|
|
print(intersection(f,3,3.5))
|