L'algoritmo di Newton | |
---|---|
(in Javascript) |
Algoritmo | Equazione |
---|---|
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:
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. | ![]() |