## lopus 3 years ago i have a question in the code newton method say that answer is: >>> poly =(-13.39, 0.0, 17.5, 3.0, 1.0) #x4 + 3.0x3 + 17.5x2 - 13.39 >>> x_0 = 0.1 >>> epsilon = .0001 >>> print compute_root(poly, x_0, epsilon) (0.80679075379635201, 8) my answer is: (0.806790753796352, 7) why 8?

1. lopus

this is my code: http://dpaste.com/790245/

2. xilinix

yo creo que tu codigo esta bueno, porque haciendo el seguimiento si se cuenta desde 0 llega hasta 6 y si se itera desde 1 es hasta 7

3. xilinix

(3.7760990539788537, 1) (2.513165507392411, 2) (1.6266862300590645, 3) (1.0874006562988667, 4) (0.8541676766719186, 5) (0.8084748052947073, 6) (0.806790753796352, 7)

4. bwCA

it took 8 iterations instead of 7. was epsilon the same? is anything different in the code

5. lopus

yes epsilon is the same

6. lopus

i think found the solution: def compute_root(poly,x_0,epsilon): i=1 while epsilon<=abs(Evaluate_poly(poly,x_0)): derive=compute_derive(poly) x1= x_0-(Evaluate_poly(poly,x_0)/Evaluate_poly(derive,x_0)) i+=1 # change that why? x_0=x1 result=(x1,i) print result