You are on page 1of 26

Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica

Corso di Calcolo Numerico


Dott.ssa M.C. De Bonis
Universit` a degli Studi della Basilicata, Potenza
Facolt` a di Ingegneria
Corso di Laurea in Ingegneria Meccanica
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Risoluzione di Equazioni non lineari
Sia F C
0
([a, b]), cioe F `e una funzione continua in un
intervallo [a, b] R, tale che F(a)F(b) < 0
2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5
1.5
1
0.5
0
0.5
1
1.5
a b
F(a)
F(b)
Vogliamo trovare le radici dellequazione non lineare
F(x) = 0.
La condizione F(a)F(b) < 0 `e una condizione suciente per
lesistenza di almeno una radice di F in [a, b].
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Metodo di Bisezione
Questo metodo consiste nel costruire, a partire
dallintervallo [a, b], una successione di intervalli incapsulati
[a, b] = [a
0
, b
0
] [a
1
, b
1
] [a
n
, b
n
],
tutti contenenti la radice x di F, tale che
b
n
a
n
0 per n +
Se, ad esempio, F(a) = F(a
0
) < 0 e F(b) = F(b
0
) > 0, gli
intervalli [a
k
, b
k
], k = 1, . . . , n, della successione vengono
determinati come segue:
dato [a
k1
, b
k1
], determiniamo il punto medio
m
k
=
a
k1
+b
k1
2
= a
k1
+
b
k1
a
k1
2
;
se F(m
k
) = 0 allora x = m
k
e abbiamo terminato;
se F(m
k
) = 0 allora analizziamo il segno di F(m
k
) e
poniamo
[a
k
, b
k
] =
_
_
_
[a
k1
, m
k
] se F(m
k
) > 0
[m
k
, b
k1
] se F(m
k
) < 0
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Dopo n passi si giunge allintervallo [a
n
, b
n
] contenente la
radice x e di ampiezza
b
n
a
n
=
b
n1
a
n1
2
=
b
n2
a
n2
2
2
= =
b a
2
n
Come stima di di x scegliamo
x
n+1
= m
n+1
=
a
n
+b
n
2
cos` che
x = x
n+1

n+1
,
dove

n+1
= | x x
n+1
| <
b a
2
n+1
`e lerrore assoluto di approssimazione della radice x di F.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Per stimare la velocit`a di convergenza del metodo di
bisezione utilizziamo il seguente teorema che vale per tutte
le successioni numeriche convergenti
Teorema Sia {x
n
}
n
una successione convergente al valore
x. Poniamo
n
= | x x
n
|. Se esiste un numero reale p 1
e una costante reale positiva C tale che
lim
n+

n+1

p
n
= C
allora la successione {x
n
}
n
ha ordine di convergenza p.
Poiche per il metodo di bisezione si ha

n+1

n
=
1
2
il suo ordine di convergenza `e 1, cio`e converge molto
lentamente.
Va per`o osservato che il metodo richiede solo la continuit`a
della funzione F e la conoscenza del segno di F negli
estremi dellintervallo [a, b].
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Metodi Iterativi
Partendo dal punto iniziale x
0
, generiamo i valori
x
1
, x
2
, . . . , x
n
nel seguente modo:
Conduciamo dal punto (x
0
, F(x
0
)) una retta con
pendenza m
0
e scegliamo come approssimazione x
1
lintersezione di tale retta con lasse delle x;
Conduciamo dal punto (x
1
, F(x
1
)) una retta con
pendenza m
1
e scegliamo come approssimazione x
2
lintersezione di tale retta con lasse delle x;
. . .
Dunque ad ogni passo scegliamo come approssimazione
della radice x di F, la radice dellequazione lineare
F(x
n
) +m
n
(x x
n
) = 0,
cio`e
x
n+1
= x
n

F(x
n
)
m
n
(1)
Una formula del tipo (1) viene detta formula iterativa e
si dice che la successione x
1
, x
2
, . . . , x
n
, . . . viene costruita
mediante un procedimento iterativo.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
La funzione
g(x) = x
F(x)
m
n
tale che
x
n+1
= g(x
n
)
viene detta funzione di iterazione semplice perch`e per
la costruzione della successione {x
n
}
n
utilizza solo il punto
x
0
.
Si parla di procedimenti iterativi multipli quando
x
n+k
= g(x
n+k1
, x
n+k2
, . . . , x
n
), k > 1,
cio`e la successione {x
n
}
n
`e costruita a partire dai punti
x
0
, x
1
, . . . , x
k1
.
Un procedimento iterativo convergente non `e
necessariamente dotato di ordine di convergenza, ma se
lordine esiste `e unico.
Si pu`o dimostrare che:
se esiste lordine di un procedimento iterativo semplice,
esso `e un numero intero positivo;
se esiste lordine di un procedimento iterativo multiplo,
esso `e un numero reale non intero > 1.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Per determinare lordine di convergenza di un procedimento
iterativo semplice utilizziamo il seguente
Teorema Condizione necessaria e suciente anch`e un
procedimento iterativo semplice e convergente ad x abbia
ordine di convergenza n `e che, se la funzione di iterazione g
`e dotata di derivata nesima continua per x = x, risulti
g

( x) = g

( x) = = g
(n1)
( x) = 0
e
g
(n)
( x) = 0.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Criteri di Arresto
Quando si implementa in maniera automatica un
procedimento iterativo del tipo
x
n+1
= g(x
n
), n = 0, 1, . . . ,
occorrono uno o pi` u criteri per arrestare tale
procedimento.
Fissata una tolleranza TOLL arbitrariamente piccola, i
criteri di arresto usualmente utilizzati sono:
1. |F(x
n
)| < TOLL,
tanto pi` u `e piccolo TOLL tanto pi` u x
n
`e vicino ad x;
2. |x
n+1
x
n
| < TOLL oppure
|x
n+1
x
n
|
|x
n+1
|
< TOLL,
tanto pi` u `e piccolo TOLL tanto pi` u x
n
`e vicino al
limite della successione x;
3. numero delle iterazioni ITMAX,
ITMAX `e una variabile intera ssata
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Il criterio 3 entra in gioco quando i primi due falliscono,
cio`e quando la funzione y = F(x) ha un andamento del
seguente tipo:
2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5
1.5
1
0.5
0
0.5
1
1.5
2
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5
1.5
1
0.5
0
0.5
1
1.5
La variabile ITMAX viene anche detta variabile tappo.
In generale `e preferibile utilizzare tutti e tre i
criteri.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Nella (1) le direzioni m
n
possono essere scelte in vari modi.
Metodo di Newton o delle tangenti
In questo metodo la direzione scelta ad ogni passo `e quello
della tangente alla curva y = F(x) nel punto x
n
, cio`e
m
n
= F

(x
n
),
Dunque il metodo `e dato da
x
n+1
= x
n

F(x
n
)
F

(x
n
)
, n = 0, 1, . . .
La funzione di iterazione `e quindi
g(x) = x
F(x)
F

(x)
.
Appare evidente che il metodo perde di signicato se per
qualche n risulta F

(x
n
) = 0. Dunque in generale si
suppone che
F

(x) = 0, x [a, b].


Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
La formula iterativa
x
n+1
= x
n

F(x
n
)
F

(x
n
)
, n = 0, 1, . . .
ci permette di calcolare la successione x
1
, x
2
, . . . a partire
dal punto x
0
.
Domanda Come scegliamo il punto x
0
?
Il seguente teorema stabilisce delle condizioni per la
determinazione di un intervallo [a, b] per il quale il Metodo
di Newton converge per ogni scelta di x
0
[a, b]
Teorema
Sia F(x) C
2
([a, b]) con [a, b] chiuso e limitato. Se
1. F(a)F(b) < 0;
2. F

(x) = 0, x [a, b];


3. F

(x) 0 oppure F

(x) 0, x [a, b];


4.

F(a)
F

(a)

< (b a) e

F(b)
F

(b)

< (b a);
allora il Metodo di Newton converge allunica soluzione
x [a, b] per ogni scelta di x
0
[a, b].
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
La convergenza del Metodo di Newton `e garantita quando,
supposte soddisfatte le ipotesi del teorema precedente,
lapprossimazione iniziale x
0
`e sucientemente vicina
alla radice x.
Pertanto tale metodo si rivela spesso eciente soprattutto
per migliorare unapprossimazione sucientemente
buona ottenuta ottenuta con un metodo di ordine pi` u basso
la cui convergenza `e assicurata.
In generale `e preferibile utilizzare il Metodo di bisezione per
determinare unapprossimazione della radice con 1 o 2 cifre
decimali corrette, e poi applicare il Metodo di Newton per
ottenere con pochissime iterazioni la precisione desiderata.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Ordine di convergenza del Metodo di Newton
g

(x) = 1
(F

(x))
2
F(x)F

(x)
(F

(x))
2
=
F(x)F

(x)
(F

(x))
2
ma, poich`e assumiamo che F( x) = 0, si ha
g

( x) = 0.
g

(x) =
(F

(x)F

(x)+F(x)F

(x))(F

(x))
2
2F

(x)F(x)(F

(x))
2
(F

(x))
4
e quindi
g

( x) =
F

( x)
F

( x)
che, in generale, `e diverso da 0.
Dunque, in generale, il metodo ha ordine di convergenza
2.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Domanda Cosa succede se x `e uno zero doppio, cio`e
F( x) = F

( x) = 0 e F

( x) = 0?
In questo caso non `e possibile calcolare ne g ne g

in x, ma
`e possibile denirli per continuit`a:
g( x) = x lim
x x
F(x)
F

(x)
= x lim
x x
F

(x)
F

(x)
= x
g

( x) = F

( x) lim
x x
F(x)
(F

(x))
2
= F

( x) lim
x x
F

(x)
2F

(x)F

(x)
=
1
2
Dunque se x `e uno zero doppio, essendo g

( x) = 0, il
metodo di Newton ha ordine di convergenza 1.
Pi u in generale, se x `e uno zero dordine r, cio`e
F( x) = F

( x) = = F
(r1)
( x) = 0 e F
(r)
( x) = 0,
allora
g

( x) = 1
1
r
= 0,
dunque il metodo di Newton ha ancora ordine di
convergenza 1.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Metodo di Newton per radici multiple
Quando x `e uno zero multiplo `e possibile modicare
leggermente il metodo di Newton per recuperare lordine
2.
Si considera la seguente formula iterativa:
x
n+1
= x
n
2
F(x
n
)
F

(x
n
)
, n = 0, 1, . . .
la cui funzione di iterazione `e
g(x) = x 2
F(x)
F

(x)
.
La precedente formula iterativa ha ordine di convergenza 2,
infatti, poiche
g

(x) = 1 2
(F

(x))
2
F(x)F

(x)
(F

(x))
2
= 2
F(x)F

(x)
(F

(x))
2
1,
otteniamo
g

( x) = 2F

( x) lim
x x
F(x)
(F

(x))
2
1 = 1 1 = 0.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
In generale se x `e una radice multipla di ordine r si utilizza
la seguente formula iterativa
x
n+1
= x
n
r
F(x
n
)
F

(x
n
)
, n = 0, 1, . . .
il cui ordine di convergenza `e ancora 2.
Esistono opportune modiche anche nei casi in cui la
molteplicit` a della radice `e > 1 ma non `e nota e nei casi in
cui la molteplicit`a `e innita.
Esistono delle varianti del Metodo di Newton che hanno
ordine di convergenza > 2.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Osservazione
Quando la funzione F ha radici multiple, abbiamo visto che
da un punto di vista teorico il Metodo di Newton converge.
Tuttavia, spesso si verica che esso numericamente non
converge.
La stessa cosa certe volte accade quando F ha radici quasi
multiple.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Esempio 1 Data lequazione
cos x 4x = 0, (2)
determinare un intervallo dellasse reale che contenga
lunico zero di tale equazione e sia tale che il Metodo di
Newton risulti convergente.
Svolgimento Localizziamo gracamente lo zero
dellequazione (2) trovando il punto di intersezione delle
curve
y = cos x e y = 4x
2 1.5 1 0.5 0 0.5 1 1.5 2
8
6
4
2
0
2
4
6
8
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Si vede che lo zero x cade nellintervallo
_
0,
1
2

.
Vediamo se tale intervallo `e il giusto candidato per la
convergenza del Metodo di Newton.
Prima verichiamo le condizioni agli estremi. Si ha
F(0)F
_
1
2
_
= 1 (1.12241) < 0.
Ponendo F(x) = cos x 4x si ha
F

(x) = sinx 4 F

(x) < 0 x R
F

(x) = cos x F

(x) 0 se cos x 0
F

(x) 0 x
_
0,
1
2
_
Inoltre

F(0)
F

(0)

=
1
4
<
1
2
e

F
_
1
2
_
F

_
1
2
_

1.12241
4.47942

= 0.250571 . . . <
1
2
Dunque il Metodo di Newton converge x
0

_
0,
1
2

.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Esempio 2 Data lequazione
e
x
+
x
10
= 0, (3)
determinare un intervallo dellasse reale che contenga
lunico zero di tale equazione e sia tale che il Metodo di
Newton risulti convergente.
Svolgimento Localizziamo gracamente lo zero
dellequazione (3) trovando il punto di intersezione delle
curve
y = e
x
e y =
x
10
2 1.5 1 0.5 0 0.5 1 1.5 2
1
0
1
2
3
4
5
6
7
8
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Si vede che lo zero x cade nellintervallo
_
2,
3
2

.
Vediamo se tale intervallo `e il giusto candidato per la
convergenza del Metodo di Newton.
Prima verichiamo le condizioni agli estremi. Si ha
F(2)F
_

3
2
_
= (0.64665e 003) (0.73130e 003) < 0.
Ponendo F(x) = e
x
+
x
10
si ha
F

(x) = e
x
+
1
10
F

(x) > 0 x R
F

(x) = e
x
F

(x) > 0 x R
Inoltre

F(2)
F

(2)

0.64665e 003
0.23534

= 0.27478 <
1
2
e

F
_

3
2
_
F

3
2
_

0.73130e 003
0.32313e 002

= 0.22632e 001 . . . <


1
2
Dunque il Metodo di Newton converge x
0

_
2,
3
2

.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Esempio 3 Data lequazione
x + log x
3
= 0, (4)
determinare un intervallo dellasse reale che contenga
lunico zero di tale equazione e sia tale che il Metodo di
Newton risulti convergente.
Svolgimento Localizziamo gracamente lo zero
dellequazione (4) trovando il punto di intersezione delle
curve
y = log x e y =
x
3
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
6
5
4
3
2
1
0
1
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Si vede che lo zero x cade nellintervallo
_
1
2
, 1

.
Vediamo se tale intervallo `e il giusto candidato per la
convergenza del Metodo di Newton.
Prima verichiamo le condizioni agli estremi. Si ha
F
_
1
2
_
F(1) = (1.57944) 1 < 0.
Ponendo F(x) = x + 3 log x si ha
F

(x) = 1 +
3
x
F

(x) > 0 x > 0


F

(x) =
3
x
2
F

(x) < 0 x
_
1
2
, 1
_
Inoltre

F
_
1
2
_
F

_
1
2
_

1.57944
7

= 0.22563 <
1
2
e

F(1)
F

(1)

=
1
4
<
1
2
Dunque il Metodo di Newton converge x
0

_
1
2
, 1

.
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis
Facolt`a di Ingegneria - Laurea Triennale in Ingegneria Meccanica
Esercizi
1. 3x
2
e
x
= 0
2. 2x log x 4 = 0
3. x +e
1x
1 = 0
4. e
cos x
+ tanx = 0
5. 2 sinx + 1 x = 0
Corso di Calcolo Numerico - Dott.ssa M.C. De Bonis