• Non ci sono risultati.

Corso di Laurea in Ingegneria Informatica Analisi Numerica

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Laurea in Ingegneria Informatica Analisi Numerica"

Copied!
67
0
0

Testo completo

(1)

Corso di Laurea in Ingegneria Informatica Analisi Numerica

Lucio Demeio

Dipartimento di Scienze Matematiche

(2)

1

Equazioni Non Lineari

(3)

Problema: trovare le soluzioni di un’equazione del tipo

f (x) = 0

(4)

Problema: trovare le soluzioni di un’equazione del tipo f (x) = 0

Esempio

(5)

Problema: trovare le soluzioni di un’equazione del tipo f (x) = 0

Esempio

sin x − a x = 0

e

−x

= x

3

(6)

Problema: trovare le soluzioni di un’equazione del tipo f (x) = 0

Esempio

sin x − a x = 0 e

−x

= x

3

Out[54]=

-3 -2 -1 1 2 3

-0.5 0.5 1.0

0.5 1.0 1.5 2.0

(7)

Problema: trovare le soluzioni di un’equazione del tipo f (x) = 0

Esempio

sin x − a x = 0 e

−x

= x

3

Out[54]=

-3 -2 -1 1 2 3

-1.0 -0.5 0.5 1.0

0.0 0.5 1.0 1.5 2.0

0.5 1.0 1.5 2.0

Mathematica file EqNonLin1.nb

(8)

Bisezione

(9)

Bisezione

Dal teorema degli zeri, data f : [a, b] → R continua, se

f (a) f (b) < 0 allora ∃ c tale che f (c) = 0.

(10)

Bisezione

Dal teorema degli zeri, data f : [a, b] → R continua, se f (a) f (b) < 0 allora ∃ c tale che f (c) = 0.

c b

a f(a)>0

f(b)<0 f(x)

x

(11)

Bisezione

Dal teorema degli zeri, data f : [a, b] → R continua, se f (a) f (b) < 0 allora ∃ c tale che f (c) = 0.

c b

a f(a)>0

f(b)<0 f(x)

x c0

(12)

Bisezione

Dal teorema degli zeri, data f : [a, b] → R continua, se f (a) f (b) < 0 allora ∃ c tale che f (c) = 0.

c b

a f(a)>0

f(b)<0 f(x)

x c0

Costruiamo tre successioni, {a

n

}, {b

n

} e {c

n

}: siano

a

0

= a b

0

= b c

0

= a + b

2

(13)

Bisezione

(14)

Bisezione

Nel nostro esempio, f (a

0

) f (c

0

) < 0, quindi il teorema degli zeri si applica nuovamente all’intervallo [a

0

, c

0

]. Siano allora

a

1

= a

0

b

1

= c

0

c

1

= a

1

+ b

1

2

(15)

Bisezione

Nel nostro esempio, f (a

0

) f (c

0

) < 0, quindi il teorema degli zeri si applica nuovamente all’intervallo [a

0

, c

0

]. Siano allora

a

1

= a

0

b

1

= c

0

c

1

= a

1

+ b

1

2

... e cos`ı via:

se f (a

n

) f (c

n

) < 0 allora a

n+1

= a

n

e b

n+1

= c

n

;

se f (a

n

) f (c

n

) > 0 allora a

n+1

= c

n

e b

n+1

= b

n

e c

n+1

= (a

n+1

+ b

n+1

)/2.

(16)

Bisezione

Nel nostro esempio, f (a

0

) f (c

0

) < 0, quindi il teorema degli zeri si applica nuovamente all’intervallo [a

0

, c

0

]. Siano allora

a

1

= a

0

b

1

= c

0

c

1

= a

1

+ b

1

2

... e cos`ı via:

se f (a

n

) f (c

n

) < 0 allora a

n+1

= a

n

e b

n+1

= c

n

; se f (a

n

) f (c

n

) > 0 allora a

n+1

= c

n

e b

n+1

= b

n

e c

n+1

= (a

n+1

+ b

n+1

)/2.

La successione {c

n

} converge a c (lo sappiamo dal teorema degli

zeri), quindi l’algoritmo basato sul metodo di bisezione

fornisce una successione che converge alla soluzione.

(17)

Bisezione

Nel nostro esempio, f (a

0

) f (c

0

) < 0, quindi il teorema degli zeri si applica nuovamente all’intervallo [a

0

, c

0

]. Siano allora

a

1

= a

0

b

1

= c

0

c

1

= a

1

+ b

1

2

... e cos`ı via:

se f (a

n

) f (c

n

) < 0 allora a

n+1

= a

n

e b

n+1

= c

n

; se f (a

n

) f (c

n

) > 0 allora a

n+1

= c

n

e b

n+1

= b

n

e c

n+1

= (a

n+1

+ b

n+1

)/2.

La successione {c

n

} converge a c (lo sappiamo dal teorema degli zeri), quindi l’algoritmo basato sul metodo di bisezione fornisce una successione che converge alla soluzione.

In pratica, l’algoritmo viene fermato dopo N passi (o iterazioni) ed otteniamo un’approssimazione per lo zero della funzione:

c ≈ c

N

. Come scegliere N (criterio di arresto)?

(18)

Criterio di arresto

(19)

Criterio di arresto

Varie possibilit`a:

(20)

Criterio di arresto Varie possibilit`a:

Fissare un massimo numero di iterazioni, N ≤ N

max

(`e di solito considerato un fallimento - legato a ragioni di costo

computazionale);

(21)

Criterio di arresto Varie possibilit`a:

Fissare un massimo numero di iterazioni, N ≤ N

max

(`e di solito considerato un fallimento - legato a ragioni di costo

computazionale);

Fissare una tolleranza η << 1 su c: |c

N

− c| ≤ η (ovviamente c

non lo conosciamo ... vedi pi` u avanti) - `e il caso pi` u frequente

nella prassi - la chiameremo tolleranza assoluta

(22)

Criterio di arresto Varie possibilit`a:

Fissare un massimo numero di iterazioni, N ≤ N

max

(`e di solito considerato un fallimento - legato a ragioni di costo

computazionale);

Fissare una tolleranza η << 1 su c: |c

N

− c| ≤ η (ovviamente c non lo conosciamo ... vedi pi` u avanti) - `e il caso pi` u frequente nella prassi - la chiameremo tolleranza assoluta

Fissare una tolleranza relativa η << 1 su c: |(c

N

− c)/c| ≤ η

(anche qui c non lo conosciamo ...);

(23)

Criterio di arresto Varie possibilit`a:

Fissare un massimo numero di iterazioni, N ≤ N

max

(`e di solito considerato un fallimento - legato a ragioni di costo

computazionale);

Fissare una tolleranza η << 1 su c: |c

N

− c| ≤ η (ovviamente c non lo conosciamo ... vedi pi` u avanti) - `e il caso pi` u frequente nella prassi - la chiameremo tolleranza assoluta

Fissare una tolleranza relativa η << 1 su c: |(c

N

− c)/c| ≤ η (anche qui c non lo conosciamo ...);

Fissare una tolleranza η << 1 su f (c): |f (c

N

)| ≤ η

(24)

Criterio di arresto Varie possibilit`a:

Fissare un massimo numero di iterazioni, N ≤ N

max

(`e di solito considerato un fallimento - legato a ragioni di costo

computazionale);

Fissare una tolleranza η << 1 su c: |c

N

− c| ≤ η (ovviamente c non lo conosciamo ... vedi pi` u avanti) - `e il caso pi` u frequente nella prassi - la chiameremo tolleranza assoluta

Fissare una tolleranza relativa η << 1 su c: |(c

N

− c)/c| ≤ η (anche qui c non lo conosciamo ...);

Fissare una tolleranza η << 1 su f (c): |f (c

N

)| ≤ η

Quale errore commettiamo nei vari casi?

(25)

Analisi dell’errore nel caso |c

N

− c| ≤ η

(26)

Analisi dell’errore nel caso |c

N

− c| ≤ η

Ricordiamo che c

n

∈ [a

n

, b

n

] e c ∈ [a

n

, b

n

];

(27)

Analisi dell’errore nel caso |c

N

− c| ≤ η Ricordiamo che c

n

∈ [a

n

, b

n

] e c ∈ [a

n

, b

n

];

c

n

= (a

n

+ b

n

)/2 e |b

n

− a

n

| = (b − a)/2

n

;

(28)

Analisi dell’errore nel caso |c

N

− c| ≤ η Ricordiamo che c

n

∈ [a

n

, b

n

] e c ∈ [a

n

, b

n

];

c

n

= (a

n

+ b

n

)/2 e |b

n

− a

n

| = (b − a)/2

n

;

quindi |c

n

− c| ≤ (b − a)/2

n

;

(29)

Analisi dell’errore nel caso |c

N

− c| ≤ η Ricordiamo che c

n

∈ [a

n

, b

n

] e c ∈ [a

n

, b

n

];

c

n

= (a

n

+ b

n

)/2 e |b

n

− a

n

| = (b − a)/2

n

; quindi |c

n

− c| ≤ (b − a)/2

n

;

ci fermiamo quando (b − a)/2

N

≤ η.

(30)

Analisi dell’errore nel caso |c

N

− c| ≤ η Ricordiamo che c

n

∈ [a

n

, b

n

] e c ∈ [a

n

, b

n

];

c

n

= (a

n

+ b

n

)/2 e |b

n

− a

n

| = (b − a)/2

n

; quindi |c

n

− c| ≤ (b − a)/2

n

;

ci fermiamo quando (b − a)/2

N

≤ η.

dunque N ≈ log

2

(b − a)/η.

a b x

c

n

a

n

b

n

c

(31)

Analisi dell’errore nel caso |c

N

− c| ≤ η Ricordiamo che c

n

∈ [a

n

, b

n

] e c ∈ [a

n

, b

n

];

c

n

= (a

n

+ b

n

)/2 e |b

n

− a

n

| = (b − a)/2

n

; quindi |c

n

− c| ≤ (b − a)/2

n

;

ci fermiamo quando (b − a)/2

N

≤ η.

dunque N ≈ log

2

(b − a)/η.

a b x

c

n

a

n

b

n

c

Nel caso |(c

N

− c)/c| ≤ η ci fermiamo quando (b − a)/(|c

N

|2

N

) ≤ η

(32)

Ordine di convergenza

(33)

Ordine di convergenza

Nel caso |c

n

− c| ≤ (b − a)/2

n

abbiamo che α

n

= c

n

e β

n

= 1/2

n

,

con K = b − a.

(34)

Ordine di convergenza

Nel caso |c

n

− c| ≤ (b − a)/2

n

abbiamo che α

n

= c

n

e β

n

= 1/2

n

, con K = b − a.

Quindi c

n

converge a c con tasso di convergenza O(1/2

n

), ovvero

c

n

= c + O  1 2

n



(35)

Un punto x = c si dice punto fisso per una funzione g(x) se g(c) = c,

cio`e una soluzione dell’equazione g(x) = x.

(36)

Un punto x = c si dice punto fisso per una funzione g(x) se g(c) = c, cio`e una soluzione dell’equazione g(x) = x.

g(x)

c x y

y=x

(37)

Un punto x = c si dice punto fisso per una funzione g(x) se g(c) = c, cio`e una soluzione dell’equazione g(x) = x.

g(x)

c x y

y=x

Punto fisso

(38)

Un punto x = c si dice punto fisso per una funzione g(x) se g(c) = c, cio`e una soluzione dell’equazione g(x) = x.

g(x)

c x y

y=x

Punto fisso

Un problema del tipo f (x) = 0 si pu` o sempre trasformare in un

equivalente problema di punto fisso; esiste cio`e sempre una

funzione g(x) per cui l’equazione f (x) = 0 `e equivalente

all’equazione g(x) = x.

(39)

Un punto x = c si dice punto fisso per una funzione g(x) se g(c) = c, cio`e una soluzione dell’equazione g(x) = x.

g(x)

c x y

y=x

Punto fisso

Un problema del tipo f (x) = 0 si pu` o sempre trasformare in un equivalente problema di punto fisso; esiste cio`e sempre una funzione g(x) per cui l’equazione f (x) = 0 `e equivalente all’equazione g(x) = x.

Ci sono diversi modi per definire una funzione g(x) a tale scopo:

ad esempio g(x) = x − f (x) (quello pi` u semplice) ma anche

g(x) = x + a f (x) e molti altri.

(40)

Data una funzione g(x), definita su un intervallo [a, b], quando ha un

punto fisso e quando questo `e unico? E come si costruisce?

(41)

Data una funzione g(x), definita su un intervallo [a, b], quando ha un punto fisso e quando questo `e unico? E come si costruisce?

Theorem

Se g `e una funzione continua su [a, b] e g(x) ∈ [a, b] ∀x ∈ [a, b], allora g ha un punto fisso in [a, b]; inoltre, se esiste k con 0 < k < 1 tale che

|g

(x)| < k ∀x ∈ [a, b], il punto fisso `e unico.

(42)

Data una funzione g(x), definita su un intervallo [a, b], quando ha un punto fisso e quando questo `e unico? E come si costruisce?

Theorem

Se g `e una funzione continua su [a, b] e g(x) ∈ [a, b] ∀x ∈ [a, b], allora g ha un punto fisso in [a, b]; inoltre, se esiste k con 0 < k < 1 tale che

|g

(x)| < k ∀x ∈ [a, b], il punto fisso `e unico.

Proof.

...

(43)

Data una funzione g(x), definita su un intervallo [a, b], quando ha un punto fisso e quando questo `e unico? E come si costruisce?

Theorem

Se g `e una funzione continua su [a, b] e g(x) ∈ [a, b] ∀x ∈ [a, b], allora g ha un punto fisso in [a, b]; inoltre, se esiste k con 0 < k < 1 tale che

|g

(x)| < k ∀x ∈ [a, b], il punto fisso `e unico.

Proof.

...

g(x) u(x)

h(x)

x a

a y

b b

(44)

Theorem (Teorema del punto fisso)

Sia g(x) una funzione che soddisfa le condizioni del teorema

precedente. Allora, ∀x

0

∈ [a, b] la successione definita da x

n+1

= g(x

n

)

converge al punto fisso x = c (unico !!) della funzione g.

(45)

Theorem (Teorema del punto fisso)

Sia g(x) una funzione che soddisfa le condizioni del teorema

precedente. Allora, ∀x

0

∈ [a, b] la successione definita da x

n+1

= g(x

n

) converge al punto fisso x = c (unico !!) della funzione g.

g(x)

a x a

y

b c b

x0 x1 x2

(46)

Proof.

Per le condizioni del teorema precedente, x

n

∈ [a, b] ∀n. Inoltre, per il teorema di Lagrange,

|x

n

− c| = |g(x

n−1

) − g(c)| = |g

n

)||x

n−1

− c| ≤ k|x

n−1

− c|, con ξ

n

∈ [a, b]. Per induzione, allora abbiamo che

|x

n

− c| ≤ k

n

|x

0

− c|. Siccome k < 1, si ha che lim

n→∞

k

n

= 0 e

quindi lim

n→∞

|x

n

− c| ≤ lim

n→∞

k

n

|x

0

− c| = 0. Quindi {x

n

}

converge a c.

(47)

Theorem

Se g soddisfa le ipotesi del teorema del punto fisso, allora l’errore che si commette approssimando c con x

n

soddisfa alle limitazioni

|x

n

− c| ≤ k

n

max{x

0

− a, b − x

0

}

|x

n

− c| ≤ k

n

1 − k |x

1

− x

0

|

(48)

Theorem

Se g soddisfa le ipotesi del teorema del punto fisso, allora l’errore che si commette approssimando c con x

n

soddisfa alle limitazioni

|x

n

− c| ≤ k

n

max{x

0

− a, b − x

0

}

|x

n

− c| ≤ k

n

1 − k |x

1

− x

0

|

Proof.

...

(49)

Newton-Raphson

(50)

c f(x)

x0 x

Newton-Raphson

(51)

c f(x)

x0 x1 x

Newton-Raphson

(52)

c f(x)

x0 x1 x2 x

Newton-Raphson

(53)

c f(x)

x0 x1 x2 x

Newton-Raphson

Tangente ad f (x) per (x

0

, f (x

0

)): y = f (x

0

) + f

(x

0

) (x − x

0

);

(54)

c f(x)

x0 x1 x2 x

Newton-Raphson

Tangente ad f (x) per (x

0

, f (x

0

)): y = f (x

0

) + f

(x

0

) (x − x

0

);

l’intersezione della tangente con l’asse delle x fornisce

x

1

= x

0

− f (x

0

)/f

(x

0

);

(55)

c f(x)

x0 x1 x2 x

Newton-Raphson

Tangente ad f (x) per (x

0

, f (x

0

)): y = f (x

0

) + f

(x

0

) (x − x

0

);

l’intersezione della tangente con l’asse delle x fornisce x

1

= x

0

− f (x

0

)/f

(x

0

);

... e cos`ı via:

x

n+1

= x

n

− f (x

n

)

f

(x

n

)

(56)

Quando converge Newton-Raphson?

(57)

Quando converge Newton-Raphson?

Theorem

Sia f (x) di classe C

2

([a, b]). Se esiste c ∈ [a, b] tale che f (c) = 0 ed

f

(c) 6= 0, allora esiste un δ > 0 tale che il metodo di Newton genera

una successione x

n

, con x

0

∈ (c − δ, c + δ), e con x

n

→ c per n → ∞.

(58)

Quando converge Newton-Raphson?

Theorem

Sia f (x) di classe C

2

([a, b]). Se esiste c ∈ [a, b] tale che f (c) = 0 ed f

(c) 6= 0, allora esiste un δ > 0 tale che il metodo di Newton genera una successione x

n

, con x

0

∈ (c − δ, c + δ), e con x

n

→ c per n → ∞.

Intuitivamente:

(59)

Quando converge Newton-Raphson?

Theorem

Sia f (x) di classe C

2

([a, b]). Se esiste c ∈ [a, b] tale che f (c) = 0 ed f

(c) 6= 0, allora esiste un δ > 0 tale che il metodo di Newton genera una successione x

n

, con x

0

∈ (c − δ, c + δ), e con x

n

→ c per n → ∞.

Intuitivamente:

c f(x)

x0 x1 x2 x

S I

c f(x)

x0 x1 x

x2

N O

(60)

Proof.

Il metodo di Newton `e un problema di punto fisso per la funzione g(x) = x − f (x)/f

(x) Dobbiamo innanzitutto determinare un intervallo I(δ) = [c − δ, c + δ] che viene mappato in se stesso dalla funzione g e per il quale esiste una costante reale k, con 0 < k < 1, per cui |g

(x)| ≤ k ∀x ∈ I(δ). Sia 0 < k < 1 arbitrario. Essendo f

(c) 6= 0, esiste un I(δ

1

) ⊂ [a, b] tale che ∀x ∈ I(δ

1

) si ha f

(x) 6= 0. Quindi, g `e definita e continua su I(δ

1

), abbiamo g

(x) = f (x)f

′′

(x)/[f

(x)]

2

ed essendo f ∈ C

2

([a, b]) `e anche g ∈ C

1

(I(δ

1

)). Notiamo che g

(c) = 0;

quindi, per la continuit` a di g

, esiste un δ > 0 tale che, ∀x ∈ I(δ) `e

|g

(x)| ≤ k. Resta da dimostrare che g mappa I(δ) in I(δ). Sia dunque

x ∈ I(δ); per il teorema di Lagrange, esiste ξ compreso tra x e c tale

che |g(x) − c| = |g(x) − g(c)| = |g

(ξ)| |x − c| ≤ k|x − c| < |x − c| < δ, e

quindi g(x) ∈ I(δ). Le ipotesi del teorema del punto fisso sono dunque

tutte soddisfatte e la successione x = g(x ) converge al punto fisso

(61)

Convergenza

(62)

Convergenza

In metodo di Newton converge rapidamente se la scelta iniziale

x

0

e’ abbastanza vicina allo zero x = c, in particolare se f (x) `e

monotona tra x

0

e c;

(63)

Convergenza

In metodo di Newton converge rapidamente se la scelta iniziale x

0

e’ abbastanza vicina allo zero x = c, in particolare se f (x) `e monotona tra x

0

e c;

dopo poche iterazioni gi`a si capisce se il metodo converge o se “va

a galline” (cio`e non converge);

(64)

Convergenza

In metodo di Newton converge rapidamente se la scelta iniziale x

0

e’ abbastanza vicina allo zero x = c, in particolare se f (x) `e monotona tra x

0

e c;

dopo poche iterazioni gi`a si capisce se il metodo converge o se “va a galline” (cio`e non converge);

uno svantaggio `e dato dalla necessit`a di conoscere la derivata

f

(x);

(65)

Convergenza

In metodo di Newton converge rapidamente se la scelta iniziale x

0

e’ abbastanza vicina allo zero x = c, in particolare se f (x) `e monotona tra x

0

e c;

dopo poche iterazioni gi`a si capisce se il metodo converge o se “va a galline” (cio`e non converge);

uno svantaggio `e dato dalla necessit`a di conoscere la derivata f

(x);

i criteri di arresto sono essenzialmente gli stessi del metodo di bisezione, solo che non abbiamo a disposizione un intervallo [a

n

, b

n

] come nell’altro caso; allora, la tolleranza (semplice o relativa) viene testata sulla differenza |x

n+1

− x

n

|; vale a dire che

|x

n+1

− x

n

| < η diventa il criterio di arresto (tolleranza semplice).

(66)

Theorem (Ordine di convergenza quadratico)

Sia f tale da obbedire alle condizioni del teorema sulla convergenza del

metodo di Newton-Raphson. Allora il metodo gode di ordine di

convergenza quadratico.

(67)

Theorem (Ordine di convergenza quadratico)

Sia f tale da obbedire alle condizioni del teorema sulla convergenza del metodo di Newton-Raphson. Allora il metodo gode di ordine di convergenza quadratico.

Proof.

Con riferimento a quanto visto in precedenza, siano {α

n

} e {β

n

} le successioni date da α

n

= x

n+1

− c e β

n

= (x

n

− c)

2

. Allora abbiamo

n

| ≤ |β

n

|

2

. Infatti, con uno sviluppo di Taylor possiamo scrivere:

0 = f (c) = f (x

n

) + (c − x

n

) f

(x

n

) + (c − x

n

)

2

f

′′

(ξ)/2 da cui (dividendo per f

(x

n

))

f (x

n

)/f

(x

n

) + (c − x

n

) = −(c − x

n

)

2

f

′′

(ξ)/(2 f

(x

n

)) e, ricordando che x

n+1

= x

n

− f (x

n

)/f

(x

n

),

c − x

n+1

= (c − x

n

)

2

f

′′

(ξ)/(2 f

(x

n

)) e quindi |α

n

| ≤ K |β

n

|

2

.

Riferimenti

Documenti correlati

Introdurre il metodo di Newton-Raphson per la soluzione delle equazioni non lineari ed enunciare e dimostrare il teorema sulla convergenza del metodo2. Enunciare e dimostrare il

Corso di Laurea in Ingegneria Informatica e dell’Automazione Anno Accademico 2011/2012..

Introdurre e discutere il metodo di bisezione per la risoluzione dele equazioni non lineari, illustrando anche l’analisi dell’errore e le propriet`a di

Corso di Laurea in Ingegneria Informatica e dell’Automazione Anno Accademico 2011/2012..

Introdurre e discutere il metodo di bisezione per la risoluzione dele equazioni non lineari, illustrando anche l’analisi dell’errore e le propriet`a di

Determinarne la soluzione esatta utilizzando l’eliminazione di Gauss; trovare la soluzione iterativa con una precisione di 10 −5 con il metodo di Jacobi e con quello di

Introdurre e discutere il metodo di bisezione per la risoluzione dele equazioni non lineari, illustrando anche l’analisi dell’errore e le propriet`a di

Introdurre il metodo di Newton-Raphson per la soluzione delle equazioni non lineari ed enunciare e dimostrare il teorema sulla convergenza del metodo.. Discutere i metodi iterativi