Implementazione del problema della approssimazione ai minimi quadrati
description
Transcript of Implementazione del problema della approssimazione ai minimi quadrati
Implementazione del problema della
approssimazione ai minimi quadrati
Definizione del problema
CASO DISCRETO: siano dati m punti (x1,y1),…,(xm,ym). Si vuole determinare un polinomio p*(x) nello spazio dei polinomi di grado ≤n che indichiamo con Pn, con n<m ed n,m interi, tale che lo scarto quadratico medio ε2 così definito:
risulti minimo rispetto ai coefficienti del polinomio.
22
1
*( )m
i ii
p x y
Chiaramente ε2 = ε 2(a0,…an) dove gli ai sono i coefficienti del
polinomio p*(x).
Caso di approssimazione lineare
Nel caso in cui n=1 vogliamo determinare il polinomio di primo grado p(x)=ax+b (geometricamente una retta) che costituisce la migliore approssimazione ai minimi quadrati. Vogliamo cioè, noti m punti (xi,yi) i=1…m trovare i valori di a e b che minimizzano:
2
1
( , ) ( )m
i ii
F a b y ax b
Come minimizzare tale funzione ? Calcolando le derivate prime di F rispetto ad a e rispetto a b e ponendole uguali a zero.
1
/ 2 ( ) 0m
i i ii
F a y ax b x
Si ottiene così un sistema di due equazioni in due incognite che risolto consente di esprimere a e b (le incognite !) in funzione delle coordinate degli
m punti.
1
/ 2 ( ) 0m
i ii
F b y ax b
Il sistema che si ottiene è il seguente:
1 1 1
2
1 1 1
1m m m
i ii i i
m m m
i i i ii i i
b a x y
b x a x y x
ovvero, in forma matriciale:
1 1 1
2
1 1 1
1m m m
i ii i i
m m m
i i i ii i i
x yb
ax x y x
Le soluzioni del sistema ottenute applicando la regola di Cramer sono:
1 1 1
2 2
1 1
( )( )
( )
m m m
i i i ii i i
m m
i ii i
m x y x ya
m x x
2
1 1 1 1
2 2
1 1
( )( ) ( )( )
( ) ( )
m m m m
i i i i ii i i i
m m
i ii i
x y x x yb
m x x
Definizione del problema (caso continuo)
CASO CONTINUO: Si vuole determinare p*(x) appartenente a Pn in modo tale da minimizzare la grandezza ε2 o scarto quadratico medio così definita:
22 *( ) ( )b
ap x f x dx
Chiaramente ε2 = ε2(a0,…an) dove gli ai sono i coefficienti delpolinomio p*(x).
Soluzione del problema
Consideriamo lo spazio V=C[a,b], ovvero lo spazio delle funzioni continue in [a,b], vogliamo trovare i coefficienti a0,…,an del polinomio p*(x) in Pn, che approssima f appartenente a V.
Dobbiamo minimizzare:
Come si fa a minimizzare tale funzione ? Calcolando le derivate prime di F rispetto ai valori a0,…,an e ponendole uguali a zero. Otteniamo il seguente sistema di n+1 equazioni nelle n+1 incognite a0,…,an, :
2
0
( ,... ) ( ( ) )nb j
o n jaj
F a a f x a x dx
nel caso in cui [a,b] = [0,1] il sistema diventa:
0
( )n b bi j i
j a aj
a x dx f x x dx
i=0…n
i=0…n
0
/ 2 ( ( ) ) 0nb j i
i jaj
F a f x a x x dx
1
00
1( )
1
ni
jj
a f x x dxi j
i=0…n
ovvero:
• Il sistema in forma matriciale si scrive:
00 0 0 0
1
n
m mn n n
h h a b
h h a b
dove :
1
0( ) i
ib f x x dx
Cosa significa mal condizionata?
Che se si risolve un sistema lineare con questa matrice dei coefficienti, “piccole” perturbazioni sui dati possono provocare “grandi” perturbazioni sulle soluzioni .
Problema
,
1
1i jh i j
Si tratta della matrice di Hilbert che è una matrice
i,j=0,..n
malcondizionata
La matrice dei coefficienti è quella con elementi: