Approssimazione di funzioni
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Approssimare una funzione F(x) significa trovare una funzione f(x)
più semplice da poter utilizzare al posto di F(x).
Applicazioni: - ricostruzione di una curva passante per determinati
punti misurati.
- integrazione numerica
1
Strategie di approssimazione
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Polinomio di Taylor
▪ costoso in termini computazionali (è necessaria la conoscenza
delle prime n derivate)
▪ in generale fornisce buone approssimazioni localmente
▪ non sempre converge
Interpolazione
Sono noti (n+1) punti d’appoggio (x0 , y0) ,…, (xn , yn) e si vuole
determinare una funzione f(x) passante per i punti dati.
2
Il problema d’interpolazione
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Esempio
Determinare 4 funzioni diverse che interpolino i punti 0 ; 1 e 1 ; 2 .
• Il problema d’interpolazione non ha una soluzione unica. Esistono
infinite funzioni che interpolano i punti dati.
• Per ottenere una soluzione unica bisogna specificare il tipo di funzione
richiesto.
[Link] Matematica numerica 3
Tecniche d’interpolazione
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
A dipendenza del tipo di funzione interpolante cercata si
utilizzano diverse tecniche d’interpolazione:
▪ interpolazione lineare
▪ interpolazione polinomiale
▪ interpolazione spline (quadratica o cubica)
▪ interpolazione trigonometrica
4
Interpolazione polinomiale
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Problema: Sono dati (n+1) punti d’appoggio (x0 , y0) ,…, (xn , yn).
Si vuole determinare un polinomio di grado n
pn (x) = a0 + a1 x + a2 x2 +…+ an xn
passante per i punti d’appoggio dati.
incognite: a0 , a1 ,…, an
vincoli: pn (xi) = yi (i = 0,…,n)
[Link] Matematica numerica 5
Metodo diretto e la matrice di Vandermonde
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Il sistema lineare:
La matrice di Vandermonde:
[Link] Matematica numerica 6
Metodo diretto e la matrice di Vandermonde
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Esempio 1
Dati i punti d’appoggio −1 ; 1 , (0 ; 1), 1 ; 3 e (2 ; 19), determinare
il polinomio (di grado minimo) che interpoli i punti d’appoggio.
[Link] Matematica numerica 7
Interpolazione - esempio
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Esempio 1:
[Link] Matematica numerica 8
Esistenza e unicità del polinomio interpolatore
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Teorema
Dati 𝑛 + 1 punti d’appoggio 𝑥𝑖 ; 𝑦𝑖 , 𝑖 = 0, … , 𝑛. Esiste un unico
polinomio 𝑝 di grado massimo 𝑛 che interpola i punti d’appoggio,
cioè 𝑝 𝑥𝑖 = 𝑦𝑖 , ∀ 𝑖 = 0, … 𝑛.
[Link] Matematica numerica 9
Il metodo della matrice di Vandermonde
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Vantaggi
• metodo intuitivo
• semplice da eseguire e da implementare
Svantaggi
• per sua struttura la matrice di Vandermonde tende ad essere
malcondizionata, cioè piccoli errori nei coefficienti generano
grandi variazioni nella soluzione.
• il costo di calcolo è relativamente elevato: O(n3).
[Link] Matematica numerica 10
Interpolazione con la matrice di Vandermonde
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Esempio 2
a) Considera i punti d’appoggio (1;1) , (1.1;-2) e (1.3;4). Determina
un polinomio interpolatore usando la matrice di Vandermonde.
[Link] Matematica numerica 11
Interpolazione con la matrice di Vandermonde
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
b) Arrotonda i coefficienti della matrice di Vandermonde alla 2. cifra
significativa e determina il polinomio con la nuova matrice. Confronta
i due polinomi ottenuti.
[Link] Matematica numerica 12
Interpolazione: metodo di Newton
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Polinomio interpolatore di Newton
𝑝𝑛 𝑥 = 𝑐0 + 𝑐1 𝑥 − 𝑥0 + ⋯ + 𝑐𝑛 𝑥 − 𝑥0 𝑥 − 𝑥1 ⋯ (𝑥 − 𝑥𝑛−1 )
Sistema lineare triangolare
c0 c1 c2 … cn 1
r0 1 0 0 … 0 y0
r1 1 (𝑥1 − 𝑥0 ) 0 … 0 y1
r2 1 (𝑥2 − 𝑥0 ) (𝑥2 − 𝑥0 )(𝑥2 − 𝑥1 ) … 0 y2
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
rn 1 (𝑥𝑛 − 𝑥0 ) (𝑥𝑛 − 𝑥0 )(𝑥𝑛 − 𝑥1 ) … 𝑥𝑛 − 𝑥0 ∙ ⋯ ∙ (𝑥𝑛 − 𝑥𝑛−1 ) yn
[Link] Matematica numerica 13
Metodo di Newton – esempio
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Esempio 3:
p3 (x) = -x3 + x2 + 4x
[Link] Matematica numerica 14
Aggiunta di un punto d’appoggio
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Esempio 3b:
1 4 5 3 2
p4 ( x ) = x − x − x + 10x
2 2
[Link] Matematica numerica 15
Limiti dell’interpolazione polinomiale
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Problema
Se il numero di punti d’appoggio è elevato, il polinomio
interpolatore tende a oscillare molto. Quindi i punti interpolati
possono risultare molto distanti dai punti d’appoggio.
[Link] Matematica numerica 16
Interpolazione spline
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Idea
Invece di interpolare con un unico polinomio, si utilizza una
funzione definita a tratti.
Interpolazione spline
▪ tratti polinomiali di grado 1, 2 o 3.
▪ condizioni di derivabilità nei punti di raccordo
[Link] Matematica numerica 17
Spline lineare
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Spline lineare
Dati (n+1) punti d’appoggio (x0 , y0) ,…, (xn , yn), la spline
lineare è la funzione lineare a tratti
𝑝0 𝑥 , 𝑥 ∈ 𝑥0 ; 𝑥1
𝑝 𝑥 =ቐ ⋮
𝑝𝑛−1 𝑥 , 𝑥 ∈ 𝑥𝑛−1 ; 𝑥𝑛
con pi ( x) = ai + bi ( x − xi ) , i = 0,..., n − 1
passante per i punti d’appoggio.
[Link] Matematica numerica 18
Spline lineare – esempio
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Esempio 1:
[Link] Matematica numerica 19
Errore d’interpolazione
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
e( x ) = f ( x ) − p ( x )
[Link] Matematica numerica 20
Errore d’interpolazione
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Problema La funzione f(x) viene interpolata linearmente nei punti
di ascissa a e b. Quanto vale al massimo l’errore
d’interpolazione e( x) = f ( x) − p( x) nell’intervallo [a;b] ?
Stima Sia h = b − a . Si può dimostrare che per ogni x [a; b]
dell’errore
h2
f ( x) − p( x) max f ' ' ( x)
8 x[ a ;b ]
[Link] Matematica numerica 21
Errore d’interpolazione
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Esempio 2
f ( x ) = sin x
[Link] Matematica numerica 22
La spline quadratica
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Dati (n+1) punti d’appoggio (x0 , y0) ,…, (xn , yn), una spline quadratica
è una funzione polinomiale a tratti
𝑝0 𝑥 , 𝑥 ∈ 𝑥0 ; 𝑥1
𝑝 𝑥 =ቐ ⋮
𝑝𝑛−1 𝑥 , 𝑥 ∈ 𝑥𝑛−1 ; 𝑥𝑛
con: pi ( x ) = ai + bi ( x − xi ) + ci ( x − xi )2 , i = 0,..., n − 1
• la spline interpola i punti d’appoggio.
• la 1. derivata è continua nei punti di giunzione.
[Link] Matematica numerica 23
Spline quadratica
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Incognite: ai , bi , ci → 3n incognite
Vincoli: passaggio punti: 2n equazioni
1. derivata continua: n-1 equazioni
estremo: 1 equazione
[Link] Matematica numerica 24
Calcolo di una spline quadratica
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Sia zi = pendenza della spline in xi .
Formula iterativa per le 1. derivate
yi
zi +1 = − zi + 2 , (i = 0 ,..., n − 1)
xi
Calcolo dei coefficienti
ai = yi
bi = zi (i = 0 ,..., n − 1)
zi +1 − zi
ci =
2xi
[Link] Matematica numerica 25
La spline cubica
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Dati (n+1) punti d’appoggio (x0 , y0) ,…, (xn , yn), una spline cubica
è una funzione polinomiale a tratti
𝑝0 𝑥 , 𝑥 ∈ 𝑥0 ; 𝑥1
𝑝 𝑥 =ቐ ⋮
𝑝𝑛−1 𝑥 , 𝑥 ∈ 𝑥𝑛−1 ; 𝑥𝑛
con le seguenti proprietà:
• pi ( x) = ai + bi ( x − xi ) + ci ( x − xi ) 2 + d i ( x − xi )3 , i = 0,..., n − 1
• la spline interpola i punti d’appoggio.
• 1. e 2. derivata sono continue nei punti di giunzione.
[Link] Matematica numerica 26
Spline cubica
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
[Link] Matematica numerica 27
Spline cubica
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
[Link] Matematica numerica 28
Spline cubica
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
[Link] Matematica numerica 29
Calcolo di una spline cubica
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Sia zi = pi ' ' ( xi )
Sistema lineare delle [Link]
y y
xi zi + 2( xi + xi +1 ) zi +1 + xi +1 zi + 2 = 6 i +1 − i , i = 0,..., n − 2
xi +1 xi
Calcolo dei coefficienti
ai = yi
yi xi
bi = − ( zi +1 + 2 zi )
xi 6
1
ci = zi
2
1
di = ( zi +1 − zi )
6xi
[Link] Matematica numerica 30
Minimi quadrati
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Introduzione alla regressione lineare
Regressione lineare 1
[Link]
Regressione lineare 2
[Link]
[Link] Matematica numerica 31
Regressione lineare
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Il problema
𝑥1 , 𝑥2 , … , 𝑥𝑛 = valori misurati della variabile 𝑥
𝑦1 , 𝑦2 , … , 𝑦𝑛 = valori misurati della variabile 𝑦
Supponendo una relazione lineare fra le due variabili 𝑥 e 𝑦, determinare
l’equazione della retta 𝑟 che meglio approssima i dati.
[Link] Matematica numerica 32
Minimi quadrati
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Il metodo dei minimi quadrati di Gauss
Retta di regressione 𝑟 𝑥 = 𝑚𝑥 + 𝑞
Errore 𝑒𝑖 = 𝑦𝑖 − 𝑟(𝑥𝑖 )
Determinare la retta che minimizzi la somma dei quadrati degli errori:
𝑛
𝑆 = 𝑚𝑖𝑛 𝑒𝑖2
𝑖=1
Impostazione del problema
1
media delle 𝑥: 𝑥ҧ = 𝑛 σ𝑛𝑖=1 𝑥𝑖
1
media delle 𝑦: 𝑦ത = 𝑛 σ𝑛𝑖=1 𝑦𝑖
Scegliamo la retta di regressione in modo che passi per il punto (𝑥;ҧ 𝑦)
ത
𝑟(𝑥) = 𝑚 𝑥 − 𝑥ҧ + 𝑦ത
[Link] Matematica numerica 33