ISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI “ A. MARTINI ” Castelfranco Veneto (TV) IV A mercurio 4 novembre 2008 Docente: Daniele De Pieri 4. Metodo di bisezione Un’applicazione notevole del teorema degli zeri riguarda la soluzione numerica delle equazioni. Supponiamo di dover risolvere l’equazione f ( x ) = 0 e che la funzione f ( x ) sia continua nell’intervallo [ a, b] , ammettiamo inoltre che f ( a ) ⋅ f ( b ) < 0 , in base al teorema degli zeri possiamo concludere che l’equazione ha almeno una soluzione x = α con a < α < b . Per determinare la soluzione (in modo approssimato = numericamente) si può pensare di costruire una successione di intervalli: [ an , bn ] ⊂ [ an −1 , bn −1 ] ⊂ [ an − 2 , bn − 2 ] ⊂ …. ⊂ [ a1 , b1 ] ⊂ [ a, b] b−a 2n f ( an ) ⋅ f ( bn ) < 0 ciascun intervallo con ampiezza: bn − an = e rispettando sempre la condizione: approssimazione di α : α ≈ an + bn 2 con errore e : e< b−a 2n Vediamo un esempio. Si voglia risolvere l’equazione: x 3 + x + 1 = 0 dove f ( x ) = x 3 + x + 1 Si nota che f ( 0 ) = 1 e f ( −1) = −1 dunque f ( −1) ⋅ f ( 0 ) < 0 e l’equazione ha almeno una soluzione x = α con −1 < α < 0 La soluzione può essere determinata come segue: n an bn an + bn 2n +1 0 1 2 3 4 5 6 -1 -1 -0,75 -0,75 -0,6875 -0,6875 -0,6875 0 -0,5 -0,5 -0,625 -0,625 -0,65625 -0,67188 -0,5 -0,75 -0,625 -0,6875 -0,65625 -0,671875 -0,6796875 Soluzione approssimata: f ( an ) f ( bn ) a +b f n n +1 n 2 -1 1 0,375 -1 0,375 -0,171875 -0,171875 0,375 0,130859375 -0,171875 0,130859 -0,01245117 -0,0124512 0,130859 0,061126709 -0,0124512 0,061127 0,024829865 -0,0124512 0,02483 0,006313801 x = −0, 6796875 errore di approssimazione: e< errore bn − an 2n +1 1/2 1/4 1/8 1/16 1/32 1/64 1/128 1 1 < 128 100 La soluzione è corretta fino ai centesimi (fino alla seconda cifra): x = −0,68 Verifica con Derive: 3 ISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI “ A. MARTINI ” Castelfranco Veneto (TV) IV A mercurio 4 novembre 2008 Docente: Daniele De Pieri 5. Algoritmi di bisezione Algoritmo di bisezione (semplificato) Algoritmo di bisezione a+b 2 2) si controlla f ( c ) ⋅ f ( a ) < 0 in tal caso b = c 1) si controlla se f ( a ) ⋅ f ( b ) < 0 1) si calcola la semisomma c = a+b 2 3) si controlla se f ( c ) = 0 in tal caso: 2) si calcola la semisomma c = altrimenti: a = c 3) si ritorna al punto 2) finché b − a > precisione soluzione = c altrimenti: 4) si controlla f ( c ) ⋅ f ( a ) < 0 in tal caso b = c 4) soluzione = c altrimenti: a = c 5) si ritorna al punto 2) finché b − a > precisione 6) soluzione = c Si può costruire una Function di excel usando il ciclo: While … Wend La funzione f ( x ) = x 3 + x + 1 deve essere definita con una Function apposita nello stesso modulo che contiene la Function della bisezione. Vediamo le istrruzioni VBA di excel Function f(x) f = (x ^ 3 + x + 1) End Function Function Bisezione(a, b, Optional precisione = 0.0001) While Abs(b - a) > (1 / 1000) c = (a + b) / 2 If f(c) * f(a) < 0 Then b=c Else a=c End If Wend Bisezione = c End Function 6. Esercizi 1) Verificare che f ( x ) = x è continua in x0 = 0 2) Spiegare perché le seguenti funzioni sono discontinue nei punti assegnati: a) f ( x ) = 3ln x + 1 1 ( x − 1) b) g ( x ) = 2 1 + x 2 c) h ( x ) = 4 − x x0 = −1 x ≠1 x =1 x ≤1 x >1 x0 = 1 x0 = 1 3) Studiare la discontinuità della funzione: x + 2 x < 0 In quali punti è discontinua? In quali, tra questi è continua solo f ( x ) = e x x ∈ [ 0,1] da destra o da sinistra? Disegna il grafico della funzione. 2 − x x >1 4) Utilizzando il teorema degli zeri dimostrare l’esistenza di almeno una soluzione reale per le seguenti equazioni: a) x 3 − 3 x + 1 = 0 b) x 2 = x + 1 c) e x = 2 − x d) cos x = x e) ln ( x + 1) + x − 1 = 0 Utilizzando il metodo di bisezione approssimare la soluzione delle precedenti equazioni con un errore minore di 0, 2 . Soluzione: x = 5 8 con errore: e < 1 8 < 2 10 4 ISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI “ A. MARTINI ” Castelfranco Veneto (TV) IV A mercurio 4 novembre 2008 Docente: Daniele De Pieri 4) Utilizzando il teorema degli zeri dimostrare l’esistenza di almeno una soluzione reale per l’equazione: ex = 2 − x Utilizzando il metodo di bisezione approssimare la soluzione delle precedenti equazioni con un errore minore di 0,2 Definiamo: f ( x ) = e x + x − 2 , poiché f ( 0 ) = −1 e f (1) = e − 1 > 0 , e nell’intervallo [ −1, 0 ] f ( x ) è continua Per il teorema degli zeri esiste almeno una radice dell’equazione f ( x ) = 0 vale a dire ∃ α : f (α ) = 0 Cerchiamo questa radice con approssimazione minore di 0,2. 1+ 0 1 1− 0 3 = errore: e = = 0.5 f (1 2 ) = e − > 0 2 2 2 2 0 +1 2 1 1 2−0 7 α2 = = errore: e = = 0.25 f (1 4 ) = 4 e − < 0 2 4 2 4 1 4 +1 2 3 1 2 −1 4 α2 = = = 0,375 errore: e = = 0.125 < 0.2 2 8 2 Applichiamo l’algoritmo di bisezione: α1 = a + bn f n 2 bn − an 2 -1 1,71828183 0,14872127 1/2 -1 0,14872127 -0,46597458 1/4 0,37500000000 -0,46597458 0,14872127 -0,17000859 1/8 0,5 0,43750000000 -0,17000859 0,14872127 -0,0136697 1/16 0,4375 0,5 0,46875000000 -0,0136697 0,14872127 0,06674545 1/32 5 0,4375 0,46875 0,45312500000 -0,0136697 0,06674545 0,02634583 1/64 6 0,4375 0,453125 0,44531250000 -0,0136697 0,02634583 0,00629043 1/128 7 0,4375 0,4453125 0,44140625000 -0,0136697 0,00629043 -0,0037015 1/256 8 0,44140625 0,4453125 0,44335937500 -0,0037015 0,00629043 0,00129149 1/512 9 0,44140625 0,44335938 0,44238281250 -0,0037015 0,00129149 -0,00120575 9,76563E-04 10 0,44238281 0,44335938 0,44287109375 -0,00120575 0,00129149 an + bn 2 n an bn 0 0 1 0,50000000000 1 0 0,5 0,25000000000 2 0,25 0,5 3 0,375 4 f ( an ) f ( bn ) 4,2686E-05 4,88281E-04 Verifica con Derive: Errore commesso: 0,375 – 0,44285 = - 0,06785 5