Implementazione del problema della approssimazione ai minimi quadrati

download Implementazione del problema della approssimazione ai minimi quadrati

If you can't read please download the document

description

Corso di Analisi Numerica A.A. 2004-2005. Implementazione del problema della approssimazione ai minimi quadrati. Camillo Bosco. Definizione del problema (richiamo). - PowerPoint PPT Presentation

Transcript of Implementazione del problema della approssimazione ai minimi quadrati

  • Implementazione del problema della approssimazione ai minimi quadratiCamillo BoscoCorso di Analisi Numerica A.A. 2004-2005

  • Definizione del problema (richiamo)CASO DISCRETO: siano dati m punti (x1,y1),,(xm,ym). Si vuole determinare un polinomio p*(x) appartenente a Pn, con m>n ed m,n appartenenti a N, tale che: risulti minima rispetto ai coefficienti del polinomio. I valori w1, . . . , wm sono delle costanti positive dette pesi.A scopo didattico tali costanti assumono tutte valore 1 (peso uniforme).

  • Fitting Lineare: una istanza del problemaNel 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=1m trovare i valori di a e b che minimizzano:Come minimizzare tale funzione ? Calcolando le derivate prime di F rispetto ad a e rispetto a b e ponendole uguali a zero.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 n punti.

  • Le soluzioni del sistema

  • Esempio 1 : fitting_lineare.m

  • Ricordiamo la teoria !Risolvere il problema discreto ai minimi quadrati equivale a determinare la soluzione di un sistema lineare sovradeterminato (m>n) ottenuto calcolando i valori p*(xi).Qualora tale sistema Ax=b non abbia soluzione si determina il vettore soluzione:Tale vettore, che minimizza la somma dei quadrati delle componenti del vettore resto R = Ax-b, soluzione del sistema: ATAx = ATbIl problema viene quindi ricondotto alla risoluzione di un sistema lineare classicoRisolvere il problema discreto ai minimi quadrati equivale a determinare la soluzione di un sistema lineare sovradeterminato (m>n) ottenuto calcolando i valori p*(xi).Qualora tale sistema Ax=b non abbia soluzione si determina il vettore soluzione

  • Ripassiamo il metodo di Jacobi !E un metodo iterativo per la risoluzione di un sistema lineare quadrato (m=n).Al passo k+1-esimo le componenti del vettore soluzione sono cos definite: i=1nMATLAB risolve un sistema lineare utilizzando loperatore \ nella forma x=A\b.Tale operatore corrisponde alla funzione mldivide. Matlab utilizza un metodo diretto: il metodo di eliminazione di Gauss

  • Esempio 2 : min_quad.m

  • Definizione del problema (caso continuo)CASO CONTINUO: sia w(x) una funzione positiva, continua ed integrabile in [a,b]. Si vuole determinare p*(x) appartenente a Pn in modo tale da minimizzare: La funzione w(x) detta funzione peso. A scopo didattico si sceglie w(x)=1 cio peso uniforme ed unitario.

  • Una istanza del problemaNel caso in cui w(x)=1 e 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) che approssima f appartenente a V.Dobbiamo minimizzare:Come minimizzare tale funzione ? Calcolando le derivate prime di F rispetto ai valori a0,,an e ponendole uguali a zero. Otteniamo il sistema:

  • Esempio 3 : min_quad_continuo1.mIn tal caso [a,b] = [0,1] il sistema diventa:PROBLEMA:La matrice dei coefficienti di tale sistema :i,j= 0nSi tratta della matrice di Hilbert. E una matrice malcondizionata !

  • Soluzione !Per evitare di ottenere una matrice malcondizionata e difficilmente invertibile si sceglie una base differente da quella canonica in Pn. Linsieme S={1,x,x2,,xn}, base canonica di Pn, costituito da polinomi non ortogonali rispetto a nessun prodotto interno.Vogliamo trasformare la base canonica in una famiglia di polinomi ortogonali.Il procedimento di ortogonalizzazione di Gram-Schmidt ci consente di generare due successioni di polinomi:

  • Ortogonalizzazione di Gram-Schmidt

  • Le due successioniLa successione costituita da polinomi ortogonali. Pertanto a norma di definizione: La successione costituita da polinomi ortonormali. Quindi: Scegliendo tali successioni la matrice del sistema di equazioni diagonale, quindi non pi malcondizionata !

  • Esempio 4 : min_quad_continuo2.mIl polinomio di migliore approssimazione ai minimi quadrati nel caso continuo calcolato come segue:1) Si genera linsiemeutilizzando il procedimento di ortogonalizzazione di Gram-Schmidt2) Si calcolano i coefficienti generalizzati di Fourier:j= 0n3) Si costruisce il polinomio di approssimazione:

  • Teoria dei polinomi ortogonali-Esistono delle famiglie di polinomi ortogonali utilizzate in diversi ambiti della analisi numerica.Ciascuna famiglia caratterizzata da una propriet principale: ciascun polinomio pn della famiglia ortogonale a tutti i polinomi di grado minore o uguale a n.Nel caso della approssimazione si osserva che, scegliendo w(x)=1 in [-1,1], si ottiene la famiglia dei polinomi di Legendre:-Scegliendo invece w(x)=1/sqrt(1-x2) in [-1,1], si ottiene la famiglia dei polinomi di Chebichev:

  • Esempio 5 : polinomiLegendre.mGenera i primi n polinomi di Legendre secondo la seguente ricorrenza: (Rif. Naldi-Pareschi-Russo pag. 262)L0 (x)= 1L1 (x)= x

    (n+1) Ln+1 (x)=(2(n+1)-1)xLn(x)-nLn-1(x)

  • Esempio 6 : polinomiChebichev.mGenera i primi n polinomi di Chebichev secondo la seguente ricorrenza:T0 (x)= 1T1 (x)= x

    Tn+1 (x)=2xTn(x)-Tn-1(x)