Metodo di bisezione

Transcript

Metodo di bisezione
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