L'algoritmo di Newton
(in Javascript)


AlgoritmoEquazione

La seguente funzione Javascript approssima le radici di un'equazione con il metodo di Newton; la variabile x1 contiene la penultima approssimazione di x, la variabile x l'ultima; y1 e dy1 sono i valori della funzione e della derivata. Mediante un ciclo for ripetuto per un numero prefissato di volte calcolaa x, quindi la funzione y1 e la derivata dy1, e finalmente assegna a x1 il nuovo valore di x. Alla fine viene ritornato il valore x.

	function Newton(equaz, deriv, x1, numero){
		var x = parseFloat(x1); 
		var y1 = eval(equaz);
		var dy1 = eval(deriv);
		for (conta = 0; conta<numero; conta++){
			x = x1 - y1/dy1;
			y1 = eval(equaz);
			dy1 = eval(deriv);
			x1 = x;
		}
		return x
	}

La funzione Newton ha quattro parametri di ingresso:

  • equaz: stringa che contiene la funzione immessa dall'utente
  • deriv: stringa che contiene la derivata della funzione
  • x1 : valore iniziale di x;
  • numero: numero di iterazioni richiesto;

Nel riquadro a lato è possibile provare l'algoritmo; è consigliabile partire con un basso numero di iterazioni e quindi aumentarlo gradualmente osservando come il risultato tende a stabilizzarsi. Quando aumentando di 1 il numero di iterazioni si ottiene un risultato identico al precedente si può ritenere di aver raggiunto il massimo della precisione.

Sono disponibili nella prima finestrella alcuni esempi pronti: il calcolo di radice di 2 e la soluzione di cos(x) = x.

Si osserverà che l'algoritmo di Newton converge molto più velocemente di quello delle corde.

Esempi pronti:
Equazione = 0
Derivata
x1 =
iterazioni =

x =

N.B. L'equazione e la derivata vanno inserite rispettando la sintassi Javascript.