Salta al contenuto
Note per Studenti Esercizio - Eulero implicito e Crank-Nicolson su un'equazione lineare con forzante

Esercizio - Eulero implicito e Crank-Nicolson su un'equazione lineare con forzante

Teoria: Metodi di Eulero esplicito, implicito e Crank-NicolsonProblema di Cauchy $y'=f(t,y)$, $y(t_0)=y_0$, con $f$ lipschitziana in $y$ (costante $L$): ben posto. Nodi $t_n=t_0+nh$, $u_n\approx y(t_n)$. Eulero esplicito $u_{n+1}=u_n+h,f(t_n,u_n)$; Eulero implicito $u_{n+1}=u_n+h,f(t_{n+1},u_{n+1})$ (equazione da risolvere a ogni passo: punto fisso se $hL<1$, Newton, o formula chiusa se $f$ è lineare); Crank-Nicolson $u_{n+1}=u_n+\frac h2[f(t_n,u_n)+f(t_{n+1},u_{n+1})]$ (regola dei trapezi). Errore di troncamento locale $\tau_n=\frac{y(t_{n+1})-y(t_n)}h-\Phi$: $\frac h2y''$ (EE), $-\frac h2y''$ (EI), $-\frac{h^2}{12}y'''$ (CN). Consistenza + stabilità $\Rightarrow$ convergenza: ordine 1 per EE e EI, ordine 2 per CN, cioè errore globale $O(h)$ e $O(h^2)$; per EE $|e_n|\le\frac{Mh}{2L}\big(e^{L(t_n-t_0)}-1\big)$ con $M=\max|y''|$ (D). Dimezzando $h$ l'errore si divide per 2 (EE, EI) o per 4 (CN).Metodi di Eulero esplicito, implicito e Crank-Nicolson →, Equazioni differenziali lineari del primo ordiney' + a(t)y = b(t) con a, b continue su un intervallo I. Le soluzioni sono definite su tutto I e il problema di Cauchy ha una sola soluzione. Integrale generale: y = e^(−A(t))[c + ∫e^(A(t)) b(t) dt], con A primitiva di a; per l'omogenea (b = 0) y = c e^(−A(t)). Soluzione del problema con y(t0) = x0: stessa formula con A(t) = ∫ da t0 a t di a(s) ds e integrale da t0 a t. Si dimostra moltiplicando per e^(A(t)).Equazioni differenziali lineari del primo ordine →.

Testo. Un carrello di massa m=2m=2 kg parte da fermo ed è spinto da una forza costante F=10F=10 N contro un attrito viscoso c vc\,v con c=4c=4 N s/m. L'equazione del moto m v′=F−c vm\,v'=F-c\,v diventa v′=5−2v,v(0)=0,v'=5-2v,\qquad v(0)=0, con soluzione esatta v(t)=2,5 (1−e−2t)v(t)=2{,}5\,(1-e^{-2t}) m/s.

  1. Scrivere i passi di Eulero esplicito, implicito e Crank-Nicolson risolti in forma chiusa.
  2. Calcolare tre passi di ciascun metodo con h=0,25h=0{,}25 s.
  3. Calcolare gli errori e dire quale metodo è più preciso.
  4. Qual è il valore a cui tendono i tre schemi per n→∞n\to\infty?

Soluzione

1. Formule. Con f(t,v)=5−2vf(t,v)=5-2v (λ=2\lambda=2, g=5g=5):

  • EE: vn+1=vn+h (5−2vn)v_{n+1}=v_n+h\,(5-2v_n).
  • EI: vn+1=vn+h (5−2vn+1)⇒(1+2h) vn+1=vn+5hv_{n+1}=v_n+h\,(5-2v_{n+1})\Rightarrow(1+2h)\,v_{n+1}=v_n+5h.
  • CN: vn+1=vn+h2[(5−2vn)+(5−2vn+1)]⇒(1+h) vn+1=(1−h) vn+5hv_{n+1}=v_n+\frac h2\big[(5-2v_n)+(5-2v_{n+1})\big]\Rightarrow(1+h)\,v_{n+1}=(1-h)\,v_n+5h. Con h=0,25h=0{,}25: EE vn+1=0,5 vn+1,25v_{n+1}=0{,}5\,v_n+1{,}25; EI vn+1=vn+1,251,5v_{n+1}=\frac{v_n+1{,}25}{1{,}5}; CN vn+1=0,75 vn+1,251,25v_{n+1}=\frac{0{,}75\,v_n+1{,}25}{1{,}25}.

2. Tre passi (t=0,25; 0,5; 0,75t=0{,}25;\ 0{,}5;\ 0{,}75 s).

  • EE: v1=0,5⋅0+1,25=1,25v_1=0{,}5\cdot0+1{,}25=1{,}25; v2=0,625+1,25=1,875v_2=0{,}625+1{,}25=1{,}875; v3=0,9375+1,25=2,1875v_3=0{,}9375+1{,}25=2{,}1875.
  • EI: v1=0+1,251,5=0,833333v_1=\frac{0+1{,}25}{1{,}5}=0{,}833333; v2=0,833333+1,251,5=1,388889v_2=\frac{0{,}833333+1{,}25}{1{,}5}=1{,}388889; v3=1,388889+1,251,5=1,759259v_3=\frac{1{,}388889+1{,}25}{1{,}5}=1{,}759259.
  • CN: v1=0+1,251,25=1v_1=\frac{0+1{,}25}{1{,}25}=1; v2=0,75+1,251,25=1,6v_2=\frac{0{,}75+1{,}25}{1{,}25}=1{,}6; v3=0,75⋅1,6+1,251,25=2,451,25=1,96v_3=\frac{0{,}75\cdot1{,}6+1{,}25}{1{,}25}=\frac{2{,}45}{1{,}25}=1{,}96.

3. Errori. Valori esatti: v(0,25)=2,5 (1−e−0,5)=0,983673v(0{,}25)=2{,}5\,(1-e^{-0{,}5})=0{,}983673; v(0,5)=2,5 (1−e−1)=1,580301v(0{,}5)=2{,}5\,(1-e^{-1})=1{,}580301; v(0,75)=2,5 (1−e−1,5)=1,942175v(0{,}75)=2{,}5\,(1-e^{-1{,}5})=1{,}942175.

tt (s) esatta EE (err.) EI (err.) CN (err.)
0,25 0,983673 1,25 (−0,266-0{,}266) 0,833333 (+0,150+0{,}150) 1,000 (−0,016-0{,}016)
0,50 1,580301 1,875 (−0,295-0{,}295) 1,388889 (+0,191+0{,}191) 1,600 (−0,020-0{,}020)
0,75 1,942175 2,1875 (−0,245-0{,}245) 1,759259 (+0,183+0{,}183) 1,960 (−0,018-0{,}018)
(errore =vesatta−vcalcolata=v_{\text{esatta}}-v_{\text{calcolata}}). EE sovrastima la velocità (la tangente iniziale ha pendenza 55, la massima), EI la sottostima, CN è circa 1010–1515 volte più preciso di entrambi, come previsto dall'ordine 22 contro l'ordine 11. Tutte e tre restano sotto la velocità limite 2,52{,}5 m/s.

4. Valore asintotico. Il punto fisso di ciascuna ricorrenza vn+1=a vn+bv_{n+1}=a\,v_n+b è b1−a\frac b{1-a}: EE 1,250,5=2,5\frac{1{,}25}{0{,}5}=2{,}5; EI 1,25/1,51−1/1,5=0,83330,3333=2,5\frac{1{,}25/1{,}5}{1-1/1{,}5}=\frac{0{,}8333}{0{,}3333}=2{,}5; CN 11−0,6=2,5\frac{1}{1-0{,}6}=2{,}5. Tutti e tre convergono alla velocità limite Fc=2,5\frac Fc=2{,}5 m/s: i metodi conservano gli equilibri (i punti dove f=0f=0 sono punti fissi degli schemi, perché f(t,v∗)=0f(t,v^*)=0 annulla l'incremento).

Risultati: v3v_3: EE 2,18752{,}1875, EI 1,75931{,}7593, CN 1,96\mathbf{CN\ 1{,}96} m/s contro 1,94221{,}9422 esatto; limite 2,52{,}5 m/s.

Errori tipici. Scrivere EI con vnv_n nel secondo membro invece di vn+1v_{n+1}; dimenticare il fattore h2\frac h2 in CN; sbagliare il segno dell'errore.

Versione ripasso

(Metodi di Eulero esplicito, implicito e Crank-NicolsonProblema di Cauchy $y'=f(t,y)$, $y(t_0)=y_0$, con $f$ lipschitziana in $y$ (costante $L$): ben posto. Nodi $t_n=t_0+nh$, $u_n\approx y(t_n)$. Eulero esplicito $u_{n+1}=u_n+h,f(t_n,u_n)$; Eulero implicito $u_{n+1}=u_n+h,f(t_{n+1},u_{n+1})$ (equazione da risolvere a ogni passo: punto fisso se $hL<1$, Newton, o formula chiusa se $f$ è lineare); Crank-Nicolson $u_{n+1}=u_n+\frac h2[f(t_n,u_n)+f(t_{n+1},u_{n+1})]$ (regola dei trapezi). Errore di troncamento locale $\tau_n=\frac{y(t_{n+1})-y(t_n)}h-\Phi$: $\frac h2y''$ (EE), $-\frac h2y''$ (EI), $-\frac{h^2}{12}y'''$ (CN). Consistenza + stabilità $\Rightarrow$ convergenza: ordine 1 per EE e EI, ordine 2 per CN, cioè errore globale $O(h)$ e $O(h^2)$; per EE $|e_n|\le\frac{Mh}{2L}\big(e^{L(t_n-t_0)}-1\big)$ con $M=\max|y''|$ (D). Dimezzando $h$ l'errore si divide per 2 (EE, EI) o per 4 (CN).Metodi di Eulero esplicito, implicito e Crank-Nicolson →)

v′=5−2vv'=5-2v, v(0)=0v(0)=0, v=2,5(1−e−2t)v=2{,}5(1-e^{-2t}), h=0,25h=0{,}25.

  • EE: vn+1=0,5vn+1,25v_{n+1}=0{,}5v_n+1{,}25: 1,25; 1,875; 2,18751{,}25;\ 1{,}875;\ 2{,}1875.
  • EI: (1+2h)vn+1=vn+5h(1+2h)v_{n+1}=v_n+5h, vn+1=vn+1,251,5v_{n+1}=\frac{v_n+1{,}25}{1{,}5}: 0,8333; 1,3889; 1,75930{,}8333;\ 1{,}3889;\ 1{,}7593.
  • CN: (1+h)vn+1=(1−h)vn+5h(1+h)v_{n+1}=(1-h)v_n+5h, vn+1=0,75vn+1,251,25v_{n+1}=\frac{0{,}75v_n+1{,}25}{1{,}25}: 1; 1,6; 1,961;\ 1{,}6;\ 1{,}96.
  • Esatti 0,98367; 1,58030; 1,942180{,}98367;\ 1{,}58030;\ 1{,}94218. Errori v−vnv-v_n: EE −0,27;−0,29;−0,25-0{,}27;-0{,}29;-0{,}25; EI +0,15;+0,19;+0,18+0{,}15;+0{,}19;+0{,}18; CN −0,016;−0,020;−0,018-0{,}016;-0{,}020;-0{,}018.
  • Punto fisso b1−a=2,5\frac b{1-a}=2{,}5 per tutti: velocità limite Fc\frac Fc; gli equilibri f=0f=0 sono punti fissi degli schemi.

Errori tipici: vnv_n al posto di vn+1v_{n+1} in EI; manca h2\frac h2; segno dell'errore.

Teoria collegata