I metodi numerici sono algoritmi per ottenere risposte approssimate. Newton-Raphson si usa per trovare una radice di un’equazione come f(x)=0f(x)=0, mentre Eulero e Runge-Kutta si usano per approssimare le soluzioni di equazioni differenziali.

Se ti serve solo la distinzione rapida, è questa: Newton-Raphson aggiorna una stima di xx; Eulero e Runge-Kutta fanno avanzare una soluzione nel tempo. Il loro buon funzionamento dipende da condizioni come una stima iniziale sensata, una derivata utilizzabile o un passo hh abbastanza piccolo per il problema.

A cosa serve ciascun metodo numerico

Newton-Raphson: trovare una radice

Se vuoi un valore di xx tale che f(x)=0f(x)=0, Newton-Raphson aggiorna una stima seguendo la retta tangente:

xn+1=xnf(xn)f(xn)x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}

L’idea intuitiva è semplice: se il grafico è regolare vicino alla radice, la retta tangente è un modello lineare locale e la sua intercetta può fornire una stima migliore rispetto al punto attuale.

Questo metodo tende a funzionare bene quando ff è derivabile, f(xn)0f'(x_n) \ne 0 e la stima iniziale è già vicina a una radice semplice. Se queste condizioni non valgono, il metodo può bloccarsi, allontanarsi dalla radice o divergere.

Per esempio, con f(x)=x22f(x)=x^2-2 e x0=1.5x_0=1.5,

x1=1.51.5222(1.5)=1.4167x_1 = 1.5 - \frac{1.5^2 - 2}{2(1.5)} = 1.4167

e un altro passo dà circa 1.41421.4142, che è già vicino a 2\sqrt{2}.

Metodo di Eulero: una pendenza, un passo

Per un problema ai valori iniziali

y=f(t,y),y(t0)=y0,y' = f(t,y), \qquad y(t_0)=y_0,

il metodo di Eulero usa la pendenza attuale per avanzare di un passo:

yn+1=yn+hf(tn,yn)y_{n+1} = y_n + h f(t_n, y_n)

È l’approssimazione più semplice: si avanza di un passo hh usando la pendenza nota in quel momento. Questo rende Eulero facile da imparare e da implementare, ma l’errore può crescere rapidamente se hh è troppo grande o se la soluzione cambia velocemente.

Metodo di Runge-Kutta: più controlli della pendenza in un solo passo

I metodi di Runge-Kutta migliorano Eulero campionando l’informazione sulla pendenza più di una volta nello stesso passo. Nei corsi introduttivi, con "Runge-Kutta" si intende spesso il metodo classico del quarto ordine RK4:

k1=f(tn,yn),k2=f(tn+h2,yn+h2k1),k_1 = f(t_n, y_n), \qquad k_2 = f\left(t_n + \frac{h}{2}, y_n + \frac{h}{2}k_1\right), k3=f(tn+h2,yn+h2k2),k4=f(tn+h,yn+hk3)k_3 = f\left(t_n + \frac{h}{2}, y_n + \frac{h}{2}k_2\right), \qquad k_4 = f(t_n + h, y_n + hk_3) yn+1=yn+h6(k1+2k2+2k3+k4)y_{n+1} = y_n + \frac{h}{6}(k_1 + 2k_2 + 2k_3 + k_4)

RK4 calcola una media pesata di diverse stime della pendenza, quindi di solito segue la curva molto meglio di Eulero a parità di passo.

Esempio svolto: Eulero contro Runge-Kutta sulla stessa ODE

Considera

y=y,y(0)=1y' = y, \qquad y(0)=1

e usa un passo di ampiezza h=0.1h=0.1 per stimare y(0.1)y(0.1).

Passo di Eulero

A t=0t=0, il valore attuale è y0=1y_0=1, quindi la pendenza è

f(0,1)=1f(0,1)=1

Eulero dà

y1=1+0.1(1)=1.1y_1 = 1 + 0.1(1) = 1.1

Passo RK4

Ora usa lo stesso problema con RK4:

k1=1k_1 = 1 k2=1+0.12(1)=1.05k_2 = 1 + \frac{0.1}{2}(1) = 1.05 k3=1+0.12(1.05)=1.0525k_3 = 1 + \frac{0.1}{2}(1.05) = 1.0525 k4=1+0.1(1.0525)=1.10525k_4 = 1 + 0.1(1.0525) = 1.10525

Quindi

y1=1+0.16(1+2(1.05)+2(1.0525)+1.10525)y_1 = 1 + \frac{0.1}{6}(1 + 2(1.05) + 2(1.0525) + 1.10525) y11.105170833y_1 \approx 1.105170833

Per questa equazione, il valore esatto è e0.11.105170918e^{0.1} \approx 1.105170918, quindi il passo RK4 è molto più vicino del passo di Eulero.

Questa è la lezione principale. Eulero usa la pendenza solo all’estremo sinistro dell’intervallo. RK4 campiona come cambia la pendenza durante il passo, quindi di solito fornisce un quadro locale migliore.

Quando usare Newton-Raphson, Eulero o Runge-Kutta

Usa Newton-Raphson quando il compito è risolvere un’equazione non lineare e puoi calcolare o approssimare la derivata. Usa Eulero quando vuoi capire l’idea di base dell’avanzamento passo dopo passo in una ODE o ti serve un riferimento iniziale rapido.

Usa Runge-Kutta, soprattutto RK4, quando vuoi migliorare la precisione in modo pratico senza cambiare l’impostazione del problema. Se però la ODE è stiff, né Eulero né il classico RK4 sono sempre una buona scelta; il metodo deve essere adatto all’equazione.

Errori comuni nei metodi numerici

Confondere i tipi di problema

Newton-Raphson serve per le radici di equazioni. Eulero e Runge-Kutta servono per equazioni differenziali. Se scegli la famiglia di metodi sbagliata, l’impostazione è errata ancora prima di iniziare i calcoli.

Supporre che il metodo converga sempre

Newton-Raphson può fallire se la stima iniziale è scadente o se f(x)f'(x) è molto piccola vicino all’iterato. I metodi di Eulero e RK possono comportarsi male se il passo è troppo grande per il problema.

Trattare il passo come un dettaglio secondario

Per i metodi per ODE, il passo hh fa parte del metodo, non è un dettaglio aggiuntivo. Un hh più piccolo spesso migliora la precisione, ma aumenta anche il costo computazionale e, per alcuni problemi difficili, possono servire metodi progettati per la stiffness invece di un semplice passo più piccolo.

Dimenticare che la risposta è approssimata

Un risultato numerico con molte cifre non è automaticamente più affidabile. La domanda utile è se l’approssimazione è stabile, convergente e abbastanza accurata per lo scopo.

Dove si usano i metodi numerici

I metodi numerici compaiono ogni volta che il modello è chiaro ma una soluzione simbolica esatta è scomoda o non disponibile. Questo include fisica, ingegneria, ottimizzazione, finanza e calcolo scientifico.

Lo schema comune è pratico più che teorico: vuoi una risposta abbastanza accurata per la decisione che devi prendere. Per questo controllare la convergenza, gli effetti della scelta del passo o la sensibilità alla stima iniziale è importante quanto scrivere la formula.

Prova un problema simile

Prova lo stesso esempio di ODE con h=0.05h=0.05 invece di 0.10.1 e confronta di nuovo la risposta di Eulero con quella di RK4. Poi prova Newton-Raphson su f(x)=x23f(x)=x^2-3 partendo da x0=2x_0=2 e osserva quanto velocemente gli iterati si avvicinano a 3\sqrt{3}.

Hai bisogno di aiuto con un problema?

Carica la tua domanda e ottieni una soluzione verificata, passo dopo passo, in pochi secondi.

Apri GPAI Solver →