Problemi ai valori iniziali
Schemi Numerici
di Giuseppe Sottile



Supponiamo di essere in possesso di una equazione differenziale del primo ordine con una condizione iniziale (Problema di Cauchy) $$ \begin{cases} {dy \over dt} = F(y, t) \\ y(0) = y_0 \end{cases} $$


Volendo risolvere l'equazione numericamente, possiamo implementare uno schema numerico dell'equazione operando il seguente procedimento:

$$ \diamond \diamond $$

Lo schema piu' generale, consisterebbe di \(m\) passi a sinistra e \(k\) a destra. Di conseguenza sappiamo che la derivata si potrà approssimare con la seguente sommatoria: $$ {dy \over dt}\lvert_{t_n} = \sum_{i=-m}^{k} a_iy(t_{n+j}) + \epsilon(h^p) = F(y_n, t_n) $$


E' facile verificare che l'espressione a sinistra si può ricondurre ad una forma particolare (detta schema numerico) $$ \sum_{i=-m}^{k} a_iy(t_{n+j}) + \epsilon = H(y_{n-m}, y_{n-m+1}, \ldots, y_{n+k}) + \epsilon = F(y_n, t_n) $$


Quando lo schema si risce a scrivere nella forma fondamentale (ad 1 passo \( {\small (m=0, k=1)} \) ) si può ottenere il valore della \(y\) al passo successivo, conoscendo il passo precedente, in modo ricorsivo. $$ y_{n+1} = y_n + h\phi(y_n, t_n, y_{n+1}, t_{n+1}, F_n, F_{n+1}; h) + h\tau_{n+1}(h) $$ Se conosco la \( y_n = y(t_n) \) (la funzione al tempo \(t_n\), riesco a trovare la funzione al tempo successivo \(y_{n+1} = y(t_{n+1}) \)! $$ \diamond \diamond $$

In questa espressione la \( \phi \) si chiama, la funzione di incremento. Infatti se la esplicitiamo: $$ {y_{n+1} - y_n \over h} - h\tau_{n+1}(h) = \phi(y_n, t_n, y_{n+1}, t_{n+1}, F_n, F_{n+1}; h) $$ Otteniamo un rapporto incrementale a meno di un certo errore.

La grandezza \( \tau_{n+1}(h) \) è l'errore locale di troncamento


Proprietà degli schemi

In base alle caratteristiche della \( \phi \), si possono classificare gli schemi:


Torna alla home