Salta al contenuto
Note per Studenti Esercizio - Bisezione per ex = 3x, numero di iterazioni e intervalli con segni uguali

Esercizio - Bisezione per e^x = 3x, numero di iterazioni e intervalli con segni uguali

In questa pagina 3

Teoria: Metodo di bisezione e iterazioni di punto fissoBisezione: se f è continua e f(a)f(b) < 0 si dimezza l'intervallo tenendo la metà con il cambio di segno; dopo n passi |c_n − α| ≤ (b−a)/2^(n+1), cioè un bit di precisione per iterazione (convergenza lineare, sempre garantita). Punto fisso x = g(x): se g manda [a,b] in sé con |g'| ≤ L < 1 (contrazione) il punto fisso è unico, l'iterazione x_{k+1} = g(x_k) converge da ogni x_0 e |x_k − α| ≤ L^k/(1−L)·|x_1−x_0|; l'errore si moltiplica per circa g'(α) a ogni passo. Una stessa equazione ha molte riscritture x = g(x), alcune convergenti e altre no.Metodo di bisezione e iterazioni di punto fisso →.

Testo

Si consideri l'equazione ex=3xe^x = 3x, cioè f(x)=ex−3x=0f(x) = e^x - 3x = 0.

  • (a) Verificare che [0,1][0,1] soddisfa le ipotesi della bisezione e che anche [1,2][1,2] le soddisfa. Perché [0,2][0,2] non va bene, pur contenendo due radici?
  • (b) Eseguire a mano sei iterazioni sull'intervallo [0,1][0,1] (da n=0n=0 a n=5n=5), dando cnc_n, f(cn)f(c_n) e il nuovo intervallo.
  • (c) Dare il maggiorante dell'errore di c5c_5 e il numero minimo di iterazioni per ottenere ∣cn−α∣≤10−5|c_n - \alpha| \le 10^{-5}.
  • (d) Domanda teorica: la sequenza degli errori effettivi ∣cn−α∣|c_n - \alpha| è monotona? Cosa si può dire di sicuro?

Soluzione

(a) Ipotesi

ff è continua (somma di funzioni continue). Valori: f(0)=1−0=1>0f(0) = 1 - 0 = 1 > 0, f(1)=e−3=−0,2817<0f(1) = e - 3 = -0{,}2817 < 0, f(2)=e2−6=1,3891>0f(2) = e^2 - 6 = 1{,}3891 > 0.

  • Su [0,1][0,1]: f(0)f(1)<0f(0)f(1) < 0 ✓, c'è una radice (è α1=0,61906\alpha_1 = 0{,}61906).
  • Su [1,2][1,2]: f(1)f(2)<0f(1)f(2) < 0 ✓, c'è un'altra radice (α2=1,51213\alpha_2 = 1{,}51213).
  • Su [0,2][0,2]: f(0)f(2)=1,39>0f(0)f(2) = 1{,}39 > 0. Il prodotto è positivo perché le due radici fanno cambiare segno a ff due volte: il segno agli estremi è lo stesso e la condizione non si può verificare. La bisezione richiede un cambio di segno (numero dispari di radici); con due radici si deve prima separarle guardando i segni in un punto intermedio (x=1x=1).

(b) Sei iterazioni su [0,1][0,1]

Si usa f(0)>0f(0) > 0: se f(cn)>0f(c_n) > 0 la radice è a destra (an+1=cna_{n+1} = c_n), se f(cn)<0f(c_n) < 0 è a sinistra (bn+1=cnb_{n+1} = c_n).

nn [an,bn][a_n, b_n] cnc_n f(cn)f(c_n) nuovo intervallo
00 [0,1][0, 1] 0,50{,}5 e0,5−1,5=+0,1487e^{0{,}5} - 1{,}5 = +0{,}1487 [0,5,1][0{,}5, 1]
11 [0,5,1][0{,}5, 1] 0,750{,}75 2,1170−2,25=−0,13302{,}1170 - 2{,}25 = -0{,}1330 [0,5,0,75][0{,}5, 0{,}75]
22 [0,5,0,75][0{,}5, 0{,}75] 0,6250{,}625 1,8682−1,875=−0,00681{,}8682 - 1{,}875 = -0{,}0068 [0,5,0,625][0{,}5, 0{,}625]
33 [0,5,0,625][0{,}5, 0{,}625] 0,56250{,}5625 1,7551−1,6875=+0,06761{,}7551 - 1{,}6875 = +0{,}0676 [0,5625,0,625][0{,}5625, 0{,}625]
44 [0,5625,0,625][0{,}5625, 0{,}625] 0,593750{,}59375 1,8108−1,7813=+0,02951{,}8108 - 1{,}7813 = +0{,}0295 [0,59375,0,625][0{,}59375, 0{,}625]
55 [0,59375,0,625][0{,}59375, 0{,}625] 0,6093750{,}609375 1,8393−1,8281=+0,01121{,}8393 - 1{,}8281 = +0{,}0112 [0,609375,0,625][0{,}609375, 0{,}625]

Dopo n=5n = 5 si può prendere c5=0,609375c_5 = 0{,}609375, oppure c6=0,6171875c_6 = 0{,}6171875.

(c) Errore e numero di iterazioni

  • Maggiorante: ∣c5−α1∣≤b−a26=164=0,0156|c_5 - \alpha_1| \le \frac{b-a}{2^{6}} = \frac{1}{64} = 0{,}0156. Errore effettivo: ∣0,609375−0,619061∣=0,0097|0{,}609375 - 0{,}619061| = 0{,}0097 ✓ (inferiore al maggiorante).
  • Per 10−510^{-5}: 12n+1≤10−5  ⟺  n+1≥log⁡2105=16,61  ⟺  n≥15,61\frac{1}{2^{n+1}} \le 10^{-5} \iff n + 1 \ge \log_2 10^5 = 16{,}61 \iff n \ge 15{,}61, quindi nmin⁡=16n_{\min} = \mathbf{16} (cioè si arriva fino a c16c_{16}).

(d) Monotonia

L'errore effettivo non è monotono: gli errori sono 0,1191, 0,1309, 0,0059, 0,0566, 0,0253, 0,0097, 0,0019, 0,00200{,}1191,\ 0{,}1309,\ 0{,}0059,\ 0{,}0566,\ 0{,}0253,\ 0{,}0097,\ 0{,}0019,\ 0{,}0020 (cresce da n=0n=0 a n=1n=1, da n=2n=2 a n=3n=3, da n=6n=6 a n=7n=7). Quello che si può garantire è il maggiorante b−a2n+1\frac{b-a}{2^{n+1}}, che dimezza ad ogni passo, e la lunghezza dell'intervallo [an,bn][a_n,b_n].

Risultati. Radici α1=0,61906\alpha_1 = \mathbf{0{,}61906} in [0,1][0,1] e α2=1,51213\alpha_2 = \mathbf{1{,}51213} in [1,2][1,2]; c5=0,609375c_5 = \mathbf{0{,}609375} con errore ≤0,0156\le \mathbf{0{,}0156}; servono 16\mathbf{16} iterazioni per 10−510^{-5}.

Errori tipici

  • Applicare la bisezione a [0,2][0,2]: stesso segno agli estremi, quindi il test non si può fare (e il metodo potrebbe non vedere nessuna delle due radici).
  • Contare le iterazioni con 2n2^n invece di 2n+12^{n+1}.
  • Fermarsi quando ∣f(cn)∣|f(c_n)| è piccolo senza guardare la pendenza di ff vicino alla radice.

Versione ripasso

(a) f=ex−3xf=e^x-3x: f(0)=1f(0)=1, f(1)=−0,2817f(1)=-0{,}2817, f(2)=1,3891f(2)=1{,}3891. Su [0,1][0,1] e su [1,2][1,2] cambia segno (α1=0,61906\alpha_1=0{,}61906, α2=1,51213\alpha_2=1{,}51213); su [0,2][0,2] (f(0)f(2)>0f(0)f(2)>0) due cambi di segno si compensano, si separano le radici con x=1x=1 (Metodo di bisezione e iterazioni di punto fissoBisezione: se f è continua e f(a)f(b) < 0 si dimezza l'intervallo tenendo la metà con il cambio di segno; dopo n passi |c_n − α| ≤ (b−a)/2^(n+1), cioè un bit di precisione per iterazione (convergenza lineare, sempre garantita). Punto fisso x = g(x): se g manda [a,b] in sé con |g'| ≤ L < 1 (contrazione) il punto fisso è unico, l'iterazione x_{k+1} = g(x_k) converge da ogni x_0 e |x_k − α| ≤ L^k/(1−L)·|x_1−x_0|; l'errore si moltiplica per circa g'(α) a ogni passo. Una stessa equazione ha molte riscritture x = g(x), alcune convergenti e altre no.Metodo di bisezione e iterazioni di punto fisso →).

(b) Su [0,1][0,1]:

  • c0=0,5c_0=0{,}5, f=+0,1487→[0,5,1]f=+0{,}1487\to[0{,}5,1]; c1=0,75c_1=0{,}75, f=−0,1330→[0,5,0,75]f=-0{,}1330\to[0{,}5,0{,}75];
  • c2=0,625c_2=0{,}625, f=−0,0068→[0,5,0,625]f=-0{,}0068\to[0{,}5,0{,}625]; c3=0,5625c_3=0{,}5625, f=+0,0676→[0,5625,0,625]f=+0{,}0676\to[0{,}5625,0{,}625];
  • c4=0,59375c_4=0{,}59375, f=+0,0295f=+0{,}0295; c5=0,609375c_5=0{,}609375, f=+0,0112→[0,609375,0,625]f=+0{,}0112\to[0{,}609375,0{,}625].

(c) ∣c5−α1∣≤164=0,0156|c_5-\alpha_1|\le\frac1{64}=0{,}0156 (effettivo 0,00970{,}0097). Per 10−510^{-5}: n+1≥log⁡2105=16,61n+1\ge\log_210^5=16{,}61, nmin⁡=16n_{\min}=16.

(d) Errori effettivi 0,119, 0,131, 0,006, 0,057, 0,025, 0,0097, 0,0019, 0,00200{,}119,\ 0{,}131,\ 0{,}006,\ 0{,}057,\ 0{,}025,\ 0{,}0097,\ 0{,}0019,\ 0{,}0020: non monotoni; garantito è solo il maggiorante b−a2n+1\frac{b-a}{2^{n+1}}.

Errori tipici: bisezione su [0,2][0,2]; 2n2^n al posto di 2n+12^{n+1}; fermarsi su ∣f∣|f| piccolo senza guardare f′f'.

Teoria collegata