JSFiddle - React, Tailwind, and code Playground

by jmchen

JavaScript

function fun (x) {
  var x2 = x*x;
  
  return [x2*x2 - 2*x2*x + 4*x2 - 6*x + 3,
          4*x2*x - 6*x2 + 8*x - 6];
}

function Newton (f, x0, eps = 1e-4) {
//debugger;
	var xkold = x0;
  var iter = 0;
  var ff = f(xkold);
  
  do {
    xk = xkold - ff[0]/ff[1];
    console.log (eps)
    var ff = f(xk);
    console.log (iter + ':' + xk + ' -- ' + ff[0])
    ++iter;
    xkold = xk;
  } while (Math.abs(ff[0]) > eps)
  
  return [xk, iter];

}

console.log (Newton (fun, 1.5, 1e-8))