Maple Code

> newtonraphson := proc(x0,max)
  local k,p0,p1;
  k := 0;
  p0 := evalf(x0);
  printf(" P%g  = %g \n",k,p0);
  p1 := p0;
  for k from 1 to max do
    p0 := p1;
    p1 := p0 - f(p0)/df(p0);
    printf(" P%g  = %g \n",k,p1);  
  end do;
  print(`f(x) = `,f(x));
  printf("  P  = %g \n",p1);
  printf(" dP  = %g \n",abs(p1-p0));
  printf("f(P) = %g \n",f(p1));
  RETURN(p1);
  end;

> f := proc(x)
  4*x^3-15*x^2+17*x-6
  end proc;

> DF := diff(f(x),x);
  df := proc(x0)
  eval(DF,x=x0);
  end proc;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(c) John H. Mathews 2004