Il 0% ha trovato utile questo documento (0 voti)
1 visualizzazioni39 pagine

Problemi Non Lineari

Il documento discute la risoluzione numerica di equazioni non lineari, con particolare riferimento all'equazione di Colebrook per la perdita di pressione in tubazioni. Vengono presentati vari metodi numerici, tra cui il metodo di bisezione, il metodo delle secanti e il metodo di Newton, evidenziando le loro caratteristiche e convergenza. Infine, si introduce il concetto di iterazione di punto fisso e le condizioni per la sua convergenza.

Caricato da

giovanazzi05
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
1 visualizzazioni39 pagine

Problemi Non Lineari

Il documento discute la risoluzione numerica di equazioni non lineari, con particolare riferimento all'equazione di Colebrook per la perdita di pressione in tubazioni. Vengono presentati vari metodi numerici, tra cui il metodo di bisezione, il metodo delle secanti e il metodo di Newton, evidenziando le loro caratteristiche e convergenza. Infine, si introduce il concetto di iterazione di punto fisso e le condizioni per la sua convergenza.

Caricato da

giovanazzi05
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Risoluzione numerica di equazioni non lineari

Dario Fasino

D. Fasino f (x) = 0
Esempio: Equazione di Colebrook

L’equazione di Colebrook quantifica la perdita di pressione di


un fluido turbolento che attraversa una tubatura circolare:
 
1 ε/D 2.51
√ = 2 log10 + √
f 3.71 Re f

f = numero di Fanning (coefficiente di attrito)


ε/D = rugosità relativa della tubatura
Re = numero di Reynolds del fluido.

Problema
Dati Re, ε, D calcolare f .

̸ ∃ soluzione analitica, serve un metodo numerico

D. Fasino f (x) = 0
Forma del problema

Problema
Data f : D ⊂ R 7→ R continua, trovare x̄ ∈ D tale che

f (x̄) = 0.

Risolvibile con formule esplicite solo in casi semplici


I metodi numerici costruiscono successioni x1 , x2 , x3 . . .
che sotto ipotesi opportune convergono a x̄:

lim xk = x̄.
k →∞

Un elemento di tale successione viene scelto come approssimazione


di x̄ mediante un criterio di stop.

metodo iterativo + criterio di stop = algoritmo

D. Fasino f (x) = 0
Ordine di convergenza
Sia x0 , x1 , x2 . . . → x̄ ∈ R, ek = |xk − x̄|

Definizione: ordine di convergenza di {xk }

ek+1 /ek → 1 sublineare


ek+1 /ek → c, 0<c<1 lineare
ek+1 /ek → 0 superlineare
ek+1 /ekp → ℓ, 0<ℓ<∞ ordine p ⩾ 1

D. Fasino f (x) = 0
Ordine di convergenza
Sia x0 , x1 , x2 . . . → x̄ ∈ R, ek = |xk − x̄|

Definizione: ordine di convergenza di {xk }

ek+1 /ek → 1 sublineare


ek+1 /ek → c, 0<c<1 lineare
ek+1 /ek → 0 superlineare
ek+1 /ekp → ℓ, 0<ℓ<∞ ordine p ⩾ 1

Esempi
Se 0 < c < 1,

k
ek = c : convergenza sublineare
k
ek = c : convergenza lineare (p = 1)
2
ek = c (k ) : convergenza superlineare
k
ek = c (2 ) : convergenza quadratica (p = 2)

D. Fasino f (x) = 0
Ordine di convergenza
Sia x0 , x1 , x2 . . . → x̄ ∈ R, ek = |xk − x̄|

Definizione: ordine di convergenza di {xk }

ek+1 /ek → 1 sublineare


ek+1 /ek → c, 0<c<1 lineare
ek+1 /ek → 0 superlineare
ek+1 /ekp → ℓ, 0<ℓ<∞ ordine p ⩾ 1

Sia nk = numero di cifre corrette in xk . Vale


ek
nk ≈ − log10 .
|x̄|

Se l’OdC di {xk } è lineare allora nk+1 ≈ nk + log10 (1/c)


Se l’OdC di {xk } è p > 1 allora nk+1 ≈ pnk .

D. Fasino f (x) = 0
Metodo di bisezione
Teorema degli zeri
Se f ∈ C([a, b]) e f (a)f (b) < 0 allora ∃x̄ ∈ (a, b) : f (x̄) = 0.

Intervallo di separazione
Un intervallo [a, b] tale che f (a)f (b) < 0 è un intervallo di
separazione.

a -
x̄ b

D. Fasino f (x) = 0
Metodo di bisezione
Teorema degli zeri
Se f ∈ C([a, b]) e f (a)f (b) < 0 allora ∃x̄ ∈ (a, b) : f (x̄) = 0.

Intervallo di separazione
Un intervallo [a, b] tale che f (a)f (b) < 0 è un intervallo di
separazione.

a c -
x̄ b

D. Fasino f (x) = 0
Metodo di bisezione

Procedimento
Sia c il punto medio dell’intervallo attuale
Se f (c) = 0 allora stop
Altrimenti scegli il nuovo intervallo di separazione,
[a, c] oppure [c, b]
Ripeti il procedimento sul nuovo intervallo di separazione.

Convergenza globale. Se l’intervallo iniziale è [a0 , b0 ], al


k -esimo passo l’ampiezza dell’intervallo di separazione è

|b0 − a0 |
|bk − ak | = .
2k

D. Fasino f (x) = 0
Metodo delle secanti

Scelti due punti iniziali, x0 , x1

x1 x̄ -
x0

D. Fasino f (x) = 0
Metodo delle secanti

Scelti due punti iniziali, x0 , x1


tracciamo la retta secante. . .








x1  x̄ -
x0








D. Fasino f (x) = 0
Metodo delle secanti

Scelti due punti iniziali, x0 , x1


tracciamo la retta secante, calcoliamo il nuovo punto. . .








x1 x2  x̄ -
x0








D. Fasino f (x) = 0
Metodo delle secanti

Scelti due punti iniziali, x0 , x1


tracciamo la retta secante, calcoliamo il nuovo punto e ripetiamo
il processo: tracciamo la nuova secante. . .








x1 x2  x̄
 -

x0

 
 







D. Fasino f (x) = 0
Metodo delle secanti

Scelti due punti iniziali, x0 , x1


tracciamo la retta secante, calcoliamo il nuovo punto e ripetiamo
il processo: tracciamo la nuova secante, calcoliamo il prossimo
punto. . .








x1 x2  x̄
 -

  x3 x0

 







D. Fasino f (x) = 0
Metodo delle secanti

Iterazione
Fissati x0 , x1 punti iniziali,
xk − xk−1
xk+1 = xk − f (xk ) .
f (xk ) − f (xk−1 )

L’equazione della retta secante per i punti xk−1 e xk è

f (xk ) − f (xk−1 )
y = f (xk ) + (x − xk ).
xk − xk−1

Ponendo y = 0 e risolvendo la x si trova la formula del metodo.

D. Fasino f (x) = 0
Metodo delle secanti

Iterazione
Fissati x0 , x1 punti iniziali,
xk − xk−1
xk+1 = xk − f (xk ) .
f (xk ) − f (xk−1 )

La convergenza globale non è garantita:




x3 ? x1 x
2 
 x̄ -
hh 
 x0
hhhh

D. Fasino f (x) = 0
Metodo delle secanti

Iterazione
Fissati x0 , x1 punti iniziali,
xk − xk−1
xk+1 = xk − f (xk ) .
f (xk ) − f (xk−1 )

Sia ek = |x̄ − xk |.
Se f ∈ C 2 e gli errori iniziali e0 , e1 sono “piccoli” allora
ek
lim ek = 0, lim = 0.
k→∞ k→∞ ek−1

Convergenza locale e superlineare

D. Fasino f (x) = 0
Metodo delle tangenti (Newton)
Iterazione
Scelto x0 punto iniziale,

f (xk )
xk+1 = xk − .
f ′ (xk )



x̄  -
x2 x1 x0

D. Fasino f (x) = 0
Metodo delle tangenti (Newton)
Iterazione
Scelto x0 punto iniziale,

f (xk )
xk+1 = xk − .
f ′ (xk )

Sia ek = |x̄ − xk |.
Se f ∈ C 2 e l’errore iniziale e0 è “piccolo” allora
ek
lim ek = 0, lim = ℓ > 0.
k→∞ k→∞ ek2−1

Convergenza locale e quadratica.

D. Fasino f (x) = 0
Metodo delle tangenti (Newton)
Iterazione
Scelto x0 punto iniziale,

f (xk )
xk+1 = xk − .
f ′ (xk )

Teorema
Sia f ∈ C 2 in un intorno sufficientemente ampio di x̄.
Supponiamo che in tutti i punti di tale intorno valga
|f ′ (x)| ⩾ m > 0 e |f ′′ (x)| ⩽ M. Allora vale

M
|xk+1 − x̄| ⩽ L|xk − x̄|2 dove L = .
2m
In particolare, se η = L|x0 − x̄| < 1 allora il metodo è
convergente.
D. Fasino f (x) = 0
Metodo delle tangenti (Newton): Esempio


Calcolo di a
f (x) = x 2 − a = 0 Iterazione: xk+1 = . . . = 12 (xk + a/xk )
Punto iniziale: x0 = max{1, a}
Richiede solo operazioni aritmetiche!

Per a = 2 e x0 = 2 si ha

n xn fl(xn )
1 3/2 1.50000000000000
2 17/12 1.41666666666667
3 577/408 1.41421568627451
665857
4 470832 1.41421356237469

Nota: x̄ = 2 = 1.414213562373095 . . .

D. Fasino f (x) = 0
Iterazioni di punto fisso

Problema di punto fisso


Data g : D ⊂ R 7→ R trovare x̄ tale che g(x̄) = x̄.

Idea: Trasformare il problema di partenza f (x) = 0 in un


problema di punto fisso g(x) = x equivalente:

f (x̄) = 0 ⇐⇒ g(x̄) = x̄.

Iterazione di punto fisso


Scelto x0 costruire la successione xk+1 = g(xk ).

Sotto condizioni opportune, limk→∞ xk = x̄.

D. Fasino f (x) = 0
Iterazioni di punto fisso

Definizione: funzione contrattiva


g : D 7→ D è contrattiva se ∃ 0 ⩽ c < 1 tale che

|g(x) − g(y )| ⩽ c|x − y | ∀x, y ∈ D.

Una funzione contrattiva è una funzione Lipschitziana con costante di


Lipschitz minore di 1 che manda il suo dominio dentro se stesso.

Esempio
Se g : D 7→ D è derivabile e |g ′ (x)| ⩽ c < 1 allora g è contrattiva.

D. Fasino f (x) = 0
Iterazioni di punto fisso

Teorema (convergenza globale)


Se g : D 7→ D è contrattiva, allora ∃!x̄ ∈ D : x̄ = g(x̄).
Inoltre, ∀x0 ∈ D
xk+1 = g(xk ) → x̄
c ck
|xk − x̄| ⩽ 1−c |xk − xk−1 | ⩽ 1−c |x1 − x0 |.
Inoltre, se g ∈ C 1 allora
|xk+1 − x̄|
lim = |g ′ (x̄)|.
k→∞ |xk − x̄|

La convergenza è generalmente lineare.

D. Fasino f (x) = 0
Iterazioni di punto fisso

Teorema (convergenza locale)


Sia g : D ⊂ R 7→ R, g ∈ C 1 (D), tale che g(x̄) = x̄, |g ′ (x̄)| < 1.
Allora esiste I = [x̄ − δ, x̄ + δ] ⊂ D tale che
g è contrattiva in I. Inoltre, ∀x0 ∈ I,
xk+1 = g(xk ) → x̄
limk →∞ |xk+1 − x̄|/|xk − x̄| = |g ′ (x̄)|.

D. Fasino f (x) = 0
Interpetazione grafica di xk +1 = g(xk )

6g(x) 6g(x)

-
 
 

- -
x3 x2 x1 x0 x1 x3 x2 x0

convergenza monotona convergenza alternante

D. Fasino f (x) = 0
Condizionamento del problema f (x) = 0

Problema
Data f : D ⊂ R 7→ R derivabile trovare x̄ ∈ D tale che f (x̄) = 0.

Sia f̃ una perturbazione di f : |f (x) − f̃ (x)| ⩽ ε


Sia x̃ una soluzione del problema perturbato: f̃ (x̃) = 0
Vale |f (x̃)| ⩽ ε.

f (x)
6 f (x)
6

+ε - +ε -
−ε −ε
x̄ x̄

D. Fasino f (x) = 0
Condizionamento del problema f (x) = 0

Problema
Data f : D ⊂ R 7→ R derivabile trovare x̄ ∈ D tale che f (x̄) = 0.

Sia f̃ una perturbazione di f : |f (x) − f̃ (x)| ⩽ ε


Sia x̃ una soluzione del problema perturbato: f̃ (x̃) = 0
Vale |f (x̃)| ⩽ ε.

Facendo tendere ε → 0
|x̄ − x̃| 1 ε
≈ ′ ⇝ |x̄ − x̃| ≲
|f (x̄) − f (x̃)| |f (x̄)| |f ′ (x̄)|

Numero di condizionamento di x̄: κabs = 1/|f ′ (x̄)|

D. Fasino f (x) = 0
Influenza degli errori algoritmici

Teorema di quasi-convergenza
Sia g contrattiva, |g(x) − g(y )| ⩽ c|x − y |, con g(x̄) = x̄.
Supponiamo che il calcolo di g(x) sia affetto da errori:

x̃k+1 = g(x̃k ) + εk , |εk | ⩽ η.

Allora
1 − ck
|x̃k − x̄| ⩽ c k |x̃0 − x̄| + η .
1−c

Intervallo di indeterminatezza
L’iterazione ristagna in un intorno di x̄ di raggio δ = η/(1 − c).

D. Fasino f (x) = 0
Influenza degli errori algoritmici

2
10

0
10
e r r or e assolut o

−2
10

−4
10
η = 10 − 4
−6
10
η = 10 − 6
−8
10
η=0
−10
10
0 5 10 15 20 25 30
it e r az ione

Le linee tratteggiate mostrano il livello δ = η/(1 − c).

D. Fasino f (x) = 0
Sistemi non lineari

Sistemi non lineari


Sia f : D ⊂ Rn 7→ Rn . L’equazione f (x) = 0,

 f1 (x1 , . . . , xn ) = 0

.. .. ..
 . . .
fn (x1 , . . . , xn ) = 0

è un sistema non lineare.

Ipotesi: le derivate parziali prime e seconde di f esistono e


sono continue. Metodi numerici:
Iterazioni di punto fisso
Metodo di Newton-Raphson
Metodo di Gauss-Newton.

D. Fasino f (x) = 0
Sistemi non lineari: Iterazioni di punto fisso

Definizione: funzione contrattiva


Sia D ⊂ Rn . Una funzione g : D 7→ D è contrattiva se
∃ 0 ⩽ c < 1 tale che

∥g(x) − g(y)∥ ⩽ c∥x − y ∥ ∀x, y ∈ D.

Esempio
Sia Jg (x) la matrice Jacobiana di g. Se g(D) ⊂ D e
∥Jg (x)∥ ⩽ c < 1 allora g è contrattiva.

Iterazione di punto fisso: Scelto x0 ∈ D, calcola xk+1 = g(xk ).


Se g è contrattiva allora l’iterazione è convergente e vale
∥xk+1 − x̄∥ ⩽ c∥xk − x̄∥.

D. Fasino f (x) = 0
Sistemi non lineari: Iterazioni di punto fisso

Definizione: funzione contrattiva


Sia D ⊂ Rn . Una funzione g : D 7→ D è contrattiva se
∃ 0 ⩽ c < 1 tale che

∥g(x) − g(y)∥ ⩽ c∥x − y ∥ ∀x, y ∈ D.

Teorema (convergenza globale)


Se g : D 7→ D è contrattiva, allora ∃!x̄ ∈ D : x̄ = g(x̄).
Inoltre, ∀x0 ∈ D
xk+1 = g(xk ) → x̄
∥xk +1 − x̄∥ ⩽ c∥xk − x̄∥
c ck
∥xk − x̄∥ ⩽ 1−c ∥xk − xk−1 ∥ ⩽ 1−c ∥x1 − x0 ∥.

D. Fasino f (x) = 0
Sistemi non lineari: Iterazioni di punto fisso

Definizione: funzione contrattiva


Sia D ⊂ Rn . Una funzione g : D 7→ D è contrattiva se
∃ 0 ⩽ c < 1 tale che

∥g(x) − g(y)∥ ⩽ c∥x − y ∥ ∀x, y ∈ D.

Teorema (convergenza locale)


Sia g : D ⊂ Rn 7→ Rn , g ∈ C 1 (D), tale che g(x̄) = x̄.
Se ∥Jg (x̄)∥ < 1 allora esiste un intorno I di x̄ tale che
g è contrattiva in I
∀x0 ∈ I, xk +1 = g(xk ) → x̄ .

D. Fasino f (x) = 0
Sistemi non lineari: Iterazioni di punto fisso

Definizione: funzione contrattiva


Sia D ⊂ Rn . Una funzione g : D 7→ D è contrattiva se
∃ 0 ⩽ c < 1 tale che

∥g(x) − g(y)∥ ⩽ c∥x − y ∥ ∀x, y ∈ D.

Teorema di quasi-convergenza
Sia g contrattiva, ∥g(x) − g(y )∥ ⩽ c∥x − y ∥. Supponiamo che il
calcolo di g(x) sia affetto da errori:

x̃k+1 = g(x̃k ) + εk , ∥εk ∥ ⩽ η.

Allora
1 − ck
∥x̃k − x̄∥ ⩽ c k ∥x̃0 − x̄∥ + η .
1−c

D. Fasino f (x) = 0
Sistemi non lineari: Metodo di Newton-Raphson

Sia Jf (x) la matrice jacobiana di f . Vale

f (x) = f (xk ) + Jf (xk )(x − xk ) + O(∥x − xk ∥2 ).

Metodo di Newton-Raphson

xk+1 = xk − Jf (xk )−1 f (xk ).

Scelto un punto iniziale x0 ∈ D,


risolvi il sistema lineare Jf (xk )h = −f (xk )
calcola xk+1 = xk + h.
Ipotesi: Jf (x) è invertibile in tutto un intorno di x̄.

D. Fasino f (x) = 0
Sistemi non lineari: Metodo di Newton-Raphson

Sia Jf (x) la matrice jacobiana di f . Vale

f (x) = f (xk ) + Jf (xk )(x − xk ) + O(∥x − xk ∥2 ).

Metodo di Newton-Raphson

xk+1 = xk − Jf (xk )−1 f (xk ).

Teorema
Se f ∈ C 2 in un intorno sufficientemente ampio di x̄
e ∥Jf−1 (x)∥ ⩾ m > 0 allora
il metodo è localmente convergente e inoltre

∥xk+1 − x̄∥ ⩽ c∥xk − x̄∥2 .

D. Fasino f (x) = 0
Sistemi non lineari: Metodo di Gauss-Newton

Ipotesi: f : D ⊂ Rn 7→ Rm com m ⩾ n. L’equazione f (x) = 0 è


un sistema non lineare sovraspecificato.
Problema ai minimi quadrati non lineare

min ∥f (x)∥22
x∈D

Metodo di Gauss-Newton: Scelto un punto iniziale x0 ∈ D,


risolvi il problema ai minimi quadrati

minh ∥Jf (xk )h + f (xk )∥22

calcola xk+1 = xk + h.

D. Fasino f (x) = 0
Sistemi non lineari: Metodo di Gauss-Newton

Ipotesi: f : D ⊂ Rn 7→ Rm com m ⩾ n. L’equazione f (x) = 0 è


un sistema non lineare sovraspecificato.
Problema ai minimi quadrati non lineare

min ∥f (x)∥22
x∈D

Teorema
Se f ∈ C 2 in un intorno sufficientemente ampio di x̄
e Jf (x̄) ha rango massimo allora il metodo di Gauss-Newton è
localmente convergente.

La convergenza è generalmente di tipo lineare.

D. Fasino f (x) = 0

Potrebbero piacerti anche