metodi iterativi
-
Upload
franco-cocca -
Category
Documents
-
view
232 -
download
0
description
Transcript of metodi iterativi
Metodi iterativi
Metodi iterativi
per l
per l ’’ approssimazione delle radici
approssimazione delle radici
dell
dell ’’equazione f(x)=0
equazione f(x)=0 dicembre 2000
dicembre 2000
aprile 2007
aprile 2007
Definizione
Definizione
��Si chiam
a RAD
ICE di una equazione
Si chiam
a RAD
ICE di una equazione
a(x)=b(x)
a(x)=b(x)
un num
ero (reale) u tale che
un num
ero (reale) u tale che
a(u)=b(u)
a(u)=b(u)
oppure tale che
oppure tale che
a(u)
a(u)-- b(u)=0
b(u)=0
Presentazione
Presentazione
��Non tutte le equazioni danno la possibilit
Non tutte le equazioni danno la possibilitàà
di determinarne le radici con m
etodi
di determinarne le radici con m
etodi
analitici, ovvero con passaggi algebrici in
analitici, ovvero con passaggi algebrici in
grado di arrivare alla forma
grado di arrivare alla forma
x=
x= ……
come ad esempio le equazioni
come ad esempio le equazioni
x=cos(x) , cos(x)
x=cos(x) , cos(x) =
ln=ln(x), 2^x=
2cos(x)
(x), 2^x=
2cos(x) ……
��Per essere certi dell
Per essere certi dell ’’esistenza delle
esistenza delle
radici dell
radici dell ’’ equazione a(x)=b(x) si
equazione a(x)=b(x) si
ricorre al grafico nel piano
ricorre al grafico nel piano
cartesiano delle due curve
cartesiano delle due curve
y=a(x) e di y=b(x).
y=a(x) e di y=b(x).
Se queste si intersecano allora
Se queste si intersecano allora
ll ’’ ascissa del o dei pun
ti di contatto
ascissa del o dei pun
ti di contatto
sono le radici dell
sono le radici dell ’’ equazione di
equazione di
partenza
partenza
(x(x-- 2)(x
2)(x-- 3)(x
3)(x-- 1)=cos(x)+sin(3x)
1)=cos(x)+sin(3x)
-2-1012
-10
12
34
½½^x=
1+sin(
^x=
1+sin(ππx)x)
0
0.51
1.52
2.5
-2-1
01
23
45
��Nell
Nell ’’ impossibilit
impossibilit àà
di arrivare alla
di arrivare alla
espressione analitica della radice
espressione analitica della radice
u=u=……
si costruisce una successione
si costruisce una successione
aa nntale che
tale che
��Ci si
Ci si ““accontenta
accontenta””pertanto di una
pertanto di una
stima di u a m
eno di una precisione
stima di u a m
eno di una precisione
prefissata che si indica con
prefissata che si indica con εε
uan
n=
∞→lim
Il metodo di bisezione
Il metodo di bisezione
��LL ’’equazione a(x)=b(x) possiam
o farla
diventare
equazione a(x)=b(x) possiam
o farla
diventare
della forma f(x)=0 ponendo f(x):=a(x)
della forma f(x)=0 ponendo f(x):=a(x)-- b(x)
b(x)
��determ
iniamo un
a successione
determ
iniamo un
a successione cc nn
convergente
convergente
alla radice in questo modo:
alla radice in questo modo:
��partiamo da due estremi a e b rispettivam
ente a
partiamo da due estremi a e b rispettivam
ente a
sinistra e a destra della radice tali che
sinistra e a destra della radice tali che
f(a)f(b)<0; si calcola il punto m
edio dei due
f(a)f(b)<0; si calcola il punto m
edio dei due
estrem
i e si valuta in quale dei due intervalli la
estrem
i e si valuta in quale dei due intervalli la
radice
radice èè
rimasta
rimasta
��Infatti se f(a)f(c)<0 allora la radice sar
Infatti se f(a)f(c)<0 allora la radice sar àà
compresa tra a e c, viceversa fra c e b
compresa tra a e c, viceversa fra c e b
��Ripetiamo questo procedimento finch
Ripetiamo questo procedimento finchéé
lo scarto fra a e b
lo scarto fra a e b èèminore di un certo
minore di un certo
errore prefissato
errore prefissato εε
��LL ’’ultim
o dei valori rappresenta la stim
a ultim
o dei valori rappresenta la stim
a della radice u (che rimane ancora
della radice u (che rimane ancora
analiticamente incognita)
analiticamente incognita)
��Si dimostra che il numero di iterazioni
Si dimostra che il numero di iterazioni
necessario per giungere alla
necessario per giungere alla
approssimazione vale
approssimazione vale
ε−≥
ab
n2
log
Esem
pio con il foglio elettronico
Esem
pio con il foglio elettronico
Metodo di bisezione
f(x)=x-cos(2*x)
ab
cf(a)
f(b)
f(c)
03
1.5
-+
+
01.5
0.75
-+
+
00.75
0.375
-+
-
0.375
0.75
0.5625
-+
+
0.375
0.5625
0.46875
-+
-
0.46875
0.5625
0.515625
-+
+
0.46875
0.5156250.492188
-+
-
0.4921880.5156250.503906
-+
-
0.5039060.5156250.509766
-+
-
0.5097660.5156250.512695
-+
-
0.5126950.5156250.51416
-+
-
0.51416
0.5156250.514893
-+
-
0.5148930.5156250.515259
-+
+
0.5148930.5152590.515076
-+
+
0.5148930.5150760.514984
-+
+
0.5148930.5149840.514938
-+
+
0.5148930.5149380.514915
-+
-xmin
-4
xmax
5
0.5149150.5149380.514927
-+
-
0.5149270.5149380.514933
-+
-
0.5149330.5149380.514935
-+
+
-6
-4
-202468
-5
05
10
Un altro esem
pio
Un altro esem
pio
Metodo di bisezione
f(x)=ln(x)-sin(2*x)
ab
cf(a)
f(b)
f(c)
12
1.5
-+
+
11.5
1.25
-+
-
1.25
1.5
1.375
-+
-
1.375
1.5
1.4375
-+
+
1.375
1.4375
1.40625
-+
+
1.375
1.40625
1.390625
-+
-
1.3906251.40625
1.398438
-+
-
1.3984381.40625
1.402344
-+
+
1.3984381.4023441.400391
-+
+
1.3984381.4003911.399414
-+
-
1.3994141.4003911.399902
-+
+
1.3994141.3999021.399658
-+
+
1.3994141.3996581.399536
-+
+
1.3994141.3995361.399475
-+
+
1.3994141.3994751.399445
-+
+
1.3994141.3994451.399429
-+
+
1.3994141.3994291.399422
-+
-xmin
0.001
xmax
5
1.3994221.3994291.399426
-+
-
1.3994261.3994291.399427
-+
-
1.3994271.3994291.399428
-+
-
-8
-7
-6
-5
-4
-3
-2
-10123
02
46
��Function
FunctionBisezione(a,b, optional prec=
0.001)
Bisezione(a,b, optional prec=
0.001)
Dim
Dim
c,c,fcfc,fa,
,fa,fbfb
ififf(a)
f(a)*f*f(b)>0
(b)>0 then
then
Bisezione=
Bisezione=
““ Errore all
Errore all ’’inizio
inizio””
Exit
Exit Function
Function
end
end ifif
Do
Do
c=0.5*(a+b)
c=0.5*(a+b)
ififf(a)
f(a)*f*f(c)<0
(c)<0 then
then
b=c
b=c
else
else
a=c
a=c
end
end ifif
Loop
Loop
until
until
Abs
Abs (b(b-- a)<a)<prec
prec
Bisezione=
cBisezione=
c
End
End Function
Function
�Functionf(x)
f=………………
End Function
Si approssim
ino le radici dell
Si approssim
ino le radici dell’’ equazione 2^x=2
equazione 2^x=2-- x^2
x^2
-3-2-1012345
-3-2
-10
12
3
Dal grafico si evince che una radice si
troverà
nell’intervallo (-2;-1)
Infatti
Bisezione(-2,-1)=-1.2568359375
Bisezione(-1.26,-1,25,.0000001)=
-1.2576912689209
Allo stesso modo
Bisezione(0,1) = 0.6533203125
Il metodo del pun
to
Il metodo del pun
to
unito
unito
Risolve l
Risolve l ’’equazione
equazione
x=g(x)
x=g(x)
Caratteristiche
Caratteristiche
��Il MB ha il pregio di essere chiaro e una
Il MB ha il pregio di essere chiaro e una
volta im
postato converge alla radice.
volta im
postato converge alla radice.
Tuttavia
Tuttavia
ÈÈpiuttosto lento
piuttosto lento
Necessita di due sem
i iniziali a e b tali che
Necessita di due sem
i iniziali a e b tali che
f(a)f(b)<0
f(a)f(b)<0
Ad ogni iterazione
Ad ogni iterazione èènecessario il controllo
necessario il controllo
f(a)f(c)<0
f(a)f(c)<0 ……
caratteristiche
caratteristiche
��Il metodo del punto unito (MPU
) Il metodo del punto unito (MPU
) èè
invece facilm
ente im
plem
entabile e
invece facilm
ente im
plem
entabile e
necessita di un solo sem
e iniziale.
necessita di un solo sem
e iniziale.
Infatti, data l
Infatti, data l ’’equazione nella forma
equazione nella forma
x=g
x=g (x) dove g
(x) dove g èè
una funzione reale,
una funzione reale,
la successione si costruisce con
la successione si costruisce con
>=
+0
)(
1
0
nx
gx
dato
x
nn
Caratteristiche
Caratteristiche
��LL ’’interpretazione
interpretazione
grafica
grafica èèsemplice:
semplice:
consiste nel
consiste nel
determ
inare le
determ
inare le
ascisse dei pun
ti di
ascisse dei pun
ti di
intersezione della
intersezione della
bisettrice
bisettrice y=x
y=xcon il
con il
grafico della curva
grafico della curva
y=g(x)
y=g(x)
-2-101234567
02
46
��La successione del MPU
consiste nell
La successione del MPU
consiste nell ’’andare dalla curva alla retta
andare dalla curva alla retta
bisettrice nel m
odo illustrato nella figura:
bisettrice nel m
odo illustrato nella figura:
Si può vedere che il MPU
pur essendo facilm
ente
Si può vedere che il MPU
pur essendo facilm
ente
implem
entabile presenta alcuni limiti, alcuni sostanziali
implem
entabile presenta alcuni limiti, alcuni sostanziali
��Può, a volte, essere pi
Può, a volte, essere pi ùù
lento del M
Blento del M
B��Non permette di prevedere il num
ero massimo
Non permette di prevedere il num
ero massimo
di iterazioni necessarie per giungere alla stim
a di
di iterazioni necessarie per giungere alla stim
a di
u a meno di
u a meno di εε
��La convergenza non
La convergenza non èè
garantita per tutte
garantita per tutte
le radici dell
le radici dell’’ equazione
equazione(alcune si e altre no)
(alcune si e altre no)
Implem
entazione in VBA
Implem
entazione in VBA
Functiong(x)
g=…..
End Function
FunctionUnito(x, Optional eps=0.001)
Dim
u, u0, n, scarto
u0=x
n=0
Do
u=g(u0)
Scarto=Abs(u-u0)
n=n+1
u0=u
LoopUntilScarto<epsor n>1000 or u=0
Unito=Iif(n<1000,u,”non lo so”)
End Function
Applicando il metodo del PU all’equazione x=x/1.1 che
ha per radice u=0 ci si accorge che può essere molto lento:
nx
01
10.909090909
20.826446281
30.751314801
40.683013455
50.620921323
60.56447393
70.513158118
80.46650738
90.424097618
100.385543289
110.350493899
120.318630818
130.28966438
140.263331254
150.239392049
160.217629136
170.197844669
180.17985879
190.163507991
200.148643628
210.135130571
100
0.0000725657159015
101
0.0000659688326377
102
0.0000599716660343
103
0.0000545196963948
104
0.0000495633603589
105
0.0000450576003263
106
0.0000409614548421
107
0.0000372376862201
108
0.0000338524420182
109
0.0000307749472893
110
0.0000279772248085
111
0.0000254338407350
112
0.0000231216733954
113
0.0000210197030868
114
0.0000191088209880
115
0.0000173716554436
116
0.0000157924140396
117
0.0000143567400360
118
0.0000130515818509
119
0.0000118650744099
120
0.0000107864312818
Dopo 100
iterazioni si ha
ancora uno scarto
di 0.00001
Il M
PU può generare successioni del tutto casuali che
non convergono e non divergono:
Ad esempio x=sin(πx)
Condizione NS per la
Condizione NS per la
convergenza del PU
convergenza del PU
��Co
ndizione necessaria e sufficiente
Condizione necessaria e sufficiente
affinch
affinchééla successione del m
etodo
la successione del m
etodo
iterativo
iterativo
converga alla radice incognita u
converga alla radice incognita u èè
che
che
|g|g’’ (u)|<1
(u)|<1
≥=
+0
)(
1
0
nx
gx
dato
x
nn
��Naturalmente non conoscendo il
Naturalmente non conoscendo il
valore esatto di u
valore esatto di u èè
impossibile
impossibile
determ
inare a priori dal punto di vista
determ
inare a priori dal punto di vista
analitico la convergenza. Tu
ttavia
analitico la convergenza. Tu
ttavia èè
possibile valutare qualitativam
ente il
possibile valutare qualitativam
ente il
campo di variabilit
campo di variabilitààdi |g
di |g ’’(x)| e
(x)| e
stabilire pertanto se l
stabilire pertanto se l ’’intervallo
intervallo èè
ragionevolmente accettabile per la
ragionevolmente accettabile per la
convergenza.
convergenza.
��Ve
diam
o un esempio:
Vediam
o un esempio:
��LL ’’equazione
equazione x=
exp
x=exp ((-- x) x)
ha una sola soluzione
ha una sola soluzione
compresa fra 0 e 1:
compresa fra 0 e 1:
la derivata
la derivata
gg ’’(x)=
(x)=
-- exp(
exp(-- x) in tale
x) in tale
intervallo varia da
intervallo varia da –– 1 a
1 a
circa
circa –– 00.4.4
��Il valore di |g
Il valore di |g ’’(u)|
(u)|
pertanto
pertanto èè
<1
<1
-1.2-1
-0.8
-0.6
-0.4
-0.20
00.5
11.5
-1.5-1
-0.50
0.51
1.52
2.53
-1.5
-1-0.5
00.5
11.5
22.5
y=g’(x)
Vediamo i calcoli del m
etodo:
x 0
0.2
x 1
0.818730753
x 2
0.440991026
x 3
0.64339848
x 4
0.525503473
x 5
0.591257607
x 6
0.553630597
x 7
0.574858936
x 8
0.562784252
x 9
0.569620886
x 10
0.565739878
x 11
0.567939785
x 12
0.566691744
x 13
0.56739944
x 14
0.566998036
x 15
0.567225677
x 16
0.567096567
x 17
0.56716979
x 18
0.567128262
x 19
0.567151814
x 20
0.567138456
x 21
0.567146032
x 0
0.5
x 1
0.60653066
x 2
0.545239212
x 3
0.579703095
x 4
0.560064628
x 5
0.571172149
x 6
0.564862947
x 7
0.568438048
x 8
0.566409453
x 9
0.567559634
x 10
0.566907213
x 11
0.567277196
x 12
0.567067352
x 13
0.56718636
x 14
0.567118864
x 15
0.567157144
x 16
0.567135434
x 17
0.567147746
x 18
0.567140763
x 19
0.567144724
x 20
0.567142478
x 21
0.567143751
x 0
0.7
x 1
0.496585304
x 2
0.608605318
x 3
0.5441092
x 4
0.580358537
x 5
0.559697658
x 6
0.57138179
x 7
0.564744541
x 8
0.568505358
x 9
0.566371329
x 10
0.567581272
x 11
0.566894946
x 12
0.567284155
x 13
0.567063406
x 14
0.567188598
x 15
0.567117595
x 16
0.567157864
x 17
0.567135025
x 18
0.567147978
x 19
0.567140632
x 20
0.567144798
x 21
0.567142435
��Ve
diam
o un contro esem
pio:
Vediam
o un contro esem
pio:
ll ’’ equazione
equazione x=
exp
x=exp ((-- 4x). Dal grafico
4x). Dal grafico
della g
della g’’ (x) possiam
o estrapolare che
(x) possiamo estrapolare che
nella radice la CNS non
nella radice la CNS non èèverificata
verificata
-2
-1.5-1
-0.50
0.51
1.52
2.53
-1.5
-1-0.5
00.5
11.5
22.5
y=g’(x)
y=g(x)
Il metodo di New
ton
Il metodo di New
ton
Rapson
Rapson
Per approssimare le radici di
Per approssimare le radici di
f(x)=0
f(x)=0
��LL ’’idea
idea èè
di creare una successione che
di creare una successione che
converga alla radice nel seguente
converga alla radice nel seguente
modo:
modo:
••Si parte da un sem
e x
Si parte da un sem
e x 00
••Si costruisce la retta tangente alla
Si costruisce la retta tangente alla
curva y=
f(x) passante per (x
curva y=
f(x) passante per (x
00, f(x
, f(x 00))))
••Si interseca tale retta con l
Si interseca tale retta con l ’’asse delle
asse delle
ascisse di
ascisse di eqeq.ne y=
0.ne y=
0••LL ’’ascissa di tale punto
ascissa di tale punto èèil term
ine x
il term
ine x 11
••Si itera il procedimento per x
Si itera il procedimento per x
22, x
, x 33
e e successivi
successivi
��LL ’’implem
entazione necessita della
implem
entazione necessita della
conoscenza dell
conoscenza dell ’’ espressione della
espressione della
derivata prima della f, necessaria per
derivata prima della f, necessaria per
il calcolo della tangente. Infatti
il calcolo della tangente. Infatti
ll ’’ equazione della retta tangente vale
equazione della retta tangente vale
yy --f(f(xx nn)=f
)=f ’’ ((xx nn)()(xx --xx nn))
��Mettendo a sistem
a tale
Mettendo a sistem
a tale eqeq.ne con
.ne con
ll ’’ asse delle ascisse si ottiene il
asse delle ascisse si ottiene il
sistem
asistem
a
=
−=
−
0
))(
(')
(
y
xx
xf
xf
yn
nn
��Il punto soluzione del sistema vale
Il punto soluzione del sistema vale
��Co
nsideriamo pertanto
Consideriamo pertanto
il metodo iterativo generante la
il metodo iterativo generante la
successione
successione
−0;
)('
)(
nnn
xf
xf
x
)('
)(
1nn
nn
xf
xf
xx
−=
+
Esem
pio #1 x
Esem
pio #1 x22=0
=0
La radice, peraltro banale, x=
0 può
essere approssimata nel seguente
modo
nn
xx
xx
xx
xx
xf
xf
xx
21
21
21
2)
('
)(
1
2
=
=−
=−
=−
= +
Esem
pio #2 x
Esem
pio #2 x
22=a
=a
)/
(5.
0
21
22
2
2)
('
)(
1
22
22
nn
nx
ax
x
xax
x
ax
x
ax
x
x
ax
xx
f
xf
xx
+=
+
=
=+
=+
−=
−−
=−
= +
Tale iterazione converge alla radice
quadrata di a.Èun ottimo metodo per il
calcolo della radice stessa
��Non sem
pre
Non sem
pre èèconveniente calcolare
conveniente calcolare
la derivata prima.
la derivata prima.
In tal senso la si può approssimare
In tal senso la si può approssimare
con il rapporto increm
entale
con il rapporto increm
entale
dove h
dove h èè
““ ragionevolmente
ragionevolmente””scelto
scelto
““ piccolo
piccolo ””
h
xf
hx
f)
()
(−
+
Esem
pio #3
Esem
pio #3
��Tale fun
zione non
Tale fun
zione non èèderivabile per
derivabile per
x=1
x=1
��Il calcolo della derivata implica
Il calcolo della derivata implica
ll ’’ introduzione della fun
zione
introduzione della fun
zione sign
sign
(x)
(x)
��Il calcolo della derivata
Il calcolo della derivata èè““ pesante
pesante ””
��Scegliamo h=
0.01 e vediamo cosa
Scegliamo h=
0.01 e vediamo cosa
succede
succede
02
|1
|=
−−
x
02
|1
|=
−−
x
Partendo da x
0=0 si ottiene una successione convergente
all’altra radice x=
-3
Se h èun poco “grossolano”?
... e per finire ...
... e per finire ...
Seguendo il link
http://w
ww.francococca.com
/estrai_articolo.asp?id=117
si possono scaricare i fogli relativi ai m
etodi
visti e provare per conto proprio.