Uiversità degli Studi di Cagliari Facoltà di Igegeria Corso di Laurea Specialistica i Igegeria per l Ambiete ed il Territorio Approssimazioe di Fuzioi co l ausilio di MATLAB. Elaborato di Calcolo Numerico Docete: Prof.Giuseppe RODRIGUEZ Studete: Alessadro MAZZELLA Ao Accademico 7-8 - -
Idice. Itroduzioe..3. Iterpolazioe di ua fuzioe4 3. Iterpolazioe Poliomiale..5 3. Poliomio Iterpolate ella Forma di Lagrage.6 3.. Implemetazioe MATLAB 7 Esempio 8 3. Errore di Iterpolazioe 3.. Implemetazioe MATLAB. Esempio. 3 4. Approssimazioe el Seso dei Miimi Quadrati. 5 Esempio. 7 Esempio. 8 - -
. Itroduzioe Molto spesso i campo igegeristico ci si può trovare a dover risolvere problemi di approssimazioe di fuzioe, ricoducibili alle segueti tipologie pricipali:. Della fuzioe f si cooscoo solamete i valori i u isieme discreto di puti i P ( i, yi co i =,,,, tali che y i = f ( i proveieti, ad esempio, da ua serie di aalisi sperimetali. I questo fragete può essere ecessario disporre di ua approssimazioe della fuzioe f i maiera tale da poter stimare il suo valore i u puto di coordiate qualsiasi ( X, Y co X i, oppure i valori di ua sua derivata di ordie k ( f k. Si possoo presetare vari casi: a il umero di dati dispoibili è piccolo, come ello studio di alcui feomei fisici o biologici; b il umero di dati dispoibili è molto elevato, come di solito accade elle aalisi statistiche; c i valori i f ( i y = possoo essere affetti da errori di misura limitati e co ua distribuzioe abbastaza regolare, come accade di solito per i dati rilevati i laboratorio; d i valori i f ( i y = possoo essere affetti da errori di misura molto elevati e seza alcua distribuzioe regolare, come può accadere per esempio per u o corretto fuzioameto degli strumeti di laboratorio o quado, i ua idagie ecoomica o demografica, i dati vegoo rilevati i modo errato.. La fuzioe f possiede alcue proprietà di cotiuità e derivabilità che permettoo di scrivere lo sviluppo di Taylor, oppure possiede delle proprietà più specifiche, come ad esempio periodicità o simmetria, che possoo essere opportuamete sfruttate per costruire ua fuzioe g più facilmete calcolabile della stessa f. Le teciche per la risoluzioe di questi tipi di problemi soo pricipalmete due: l iterpolazioe: si determia quella fuzioe, tra ua fissata famiglia di fuzioi, che i opportui puti, detti odi, assuma gli stessi valori assuti dalla fuzioe data; l approssimazioe: si determia quella fuzioe, tra ua fissata famiglia di fuzioi, la cui distaza dalla fuzioe da approssimare risulti la miima possibile. Nel presete studio soo stati sviluppati e cofrotati alcui dei metodi di iterpolazioe poliomiale e di approssimazioe el seso dei miimi quadrati attraverso l ausilio del software MATLAB. - 3 -
. Iterpolazioe di ua fuzioe Cosideriamo + puti i P di coordiate ( iterpolate Φ passate per tutti gli i puti P i, cioè tale che i, y i co i =,,,,. Vogliamo costruire ua fuzioe ( i = yi Φ per i =,,,, Ipotizzado che i dati provegao da ua fuzioe cotiua è possibile scegliere + fuzioi cotiue Φ, Φ, Φ,, combiazioe lieare Φ di base e approssimare la fuzioe Φ = a Φ = f data mediate ua loro opportua Per calcolare i coefficieti della combiazioe lieare di cui sopra è sufficiete imporre le + codizioi di iterpolazioe = ( i yi a Φ = per i =,,,, Φ a = ovvero risolvere il sistema lieare y. Tale sistema lieare ammetterà ua e ua sola soluzioe se e solo se la matrice Φ è o sigolare. Pertato: la fuzioe che iterpola i dati esiste ed è uica se e solo se il determiate della matrice Φ (detto determiate di Haar è diverso da zero. Φ = Φ Φ Φ ( Φ( Φ ( ( Φ ( Φ ( ( Φ ( Φ ( - 4 -
3. Iterpolazioe Poliomiale Le fuzioi utilizzate più di frequete come base per l iterpolazioe soo i poliomi. Tale scelta è giustificata dalla loro attitudie ad approssimare eccelletemete comportameti regolari. Il problema dell approssimazioe poliomiale viee affrotato costruedo, a partire dagli + puti P (, y co i,,,, i i i =, il poliomio P di grado espresso ella forma P = = Per quato scritto precedetemete, il sistema lieare che cosete di determiare i coefficieti del poliomio iterpolate sarà del tipo dove: ( y, y, y y a X a = y y =,, è il vettore delle ordiate X = Poiché la codizioe di uisolveza si traduce i è la matrice di Vadermode costruita a partire dai odi { i } det ( X = ( i i>, questo implica che il poliomio iterpolate esiste ed è uico se e solo se i odi di iterpolazioe soo tutti distiti. Tuttavia questo approccio o è umericamete coveiete per le segueti motivazioi:. la matrice X tede ad essere estremamete mal codizioata quado i odi { i } soo vicii; 3. il costo computazioale per la risoluzioe dell iterpolazioe è molto elevato ( o ; 3. la rappresetazioe caoica è istabile, cioè piccole perturbazioi ei coefficieti a possoo produrre gradi variazioi sui valori di P. Per ovviare a questi icoveieti, esistoo degli algoritmi che permettoo di rappresetare i altra forma il poliomio P. - 5 -
3. Poliomio Iterpolate ella Forma di Lagrage La forma di Lagrage è ua rappresetazioe dell uico poliomio iterpolate P i ua base, diversa da quella caoica {,,,, } (umericamete o coveiete per le motivazioi esposte precedetemete e costituita dai Poliomi caratteristici di Lagrage così defiiti: i geerale: ( ( ( L = ( ( ( ( ( ( L = ( ( ( M ( ( ( L = ( ( ( L = k k = k k È possibile osservare che ciascu poliomio caratteristico di Lagrage L è u poliomio di grado, co le ascisse di iterpolazioe distite i, che verifica la codizioe di iterpolazioe: L ( i = δ i = i = i cioè il valore del geerico poliomio di Lagrage L calcolato i u puto i vale se i, metre vale se viee calcolato i u puto i. Il poliomio di Lagrage assume, quidi, la forma ( i y L ( i = y i yi = = P = δ = per i =,,,, È evidete che ache i questo caso, il calcolo del poliomio iterpolate di Lagrage L può essere istabile quado due odi soo molto vicii tra loro poiché, i tal caso, almeo uo dei fattori a deomiatore risulterebbe prossimo allo zero. - 6 -
3.. Implemetazioe MATLAB La valutazioe del Poliomio Iterpolate di Lagrage può essere ricavata i MATLAB mediate poche e semplici righe di comado: la fuzioe ac_itlagr.m implemeta tale algoritmo, prededo i igresso i puti di iterpolazioe coteuti ei vettori i e yi e i odi di valutazioe del poliomio coteuti i. % ac_itlagr.m = legth(i; m = legth(; 3 y = zeros(m,; 4 for = :m 5 y( = ; 6 for k = : 7 space = [:k-, k+:]; 8 L = prod(( - i(space/prod(i(k - i(space; 9 y( = y( + yi(k * L; ed ed I riferimeto al listato precedete: le righe ( e ( iizializzao i cotatori m ed ecessari per l esecuzioe della sommatoria e della produttoria per il calcolo dei valori umerici dei poliomi caratteristici di Lagrage; la riga (3 iizializza il vettore y, el quale verrao memorizzati le ordiate iterpolate ei odi ; la riga (8 calcola, step dopo step, il valore del Poliomio Caratteristico di Lagrage ecessario alla riga successiva per il calcolo della -esima ordiata iterpolata; la riga (9 calcola, step dopo step, il valore dell ordiata iterpolata el -esimo odo di iterpolazioe memorizzato el vettore e lo memorizza ella posizioe -esima del vettore y. - 7 -
Esempio.5 y=cos( odi equispaziati poliomio iterpolate -.5 - -.5-3 - - 3 Figura - Iterpolazioe co Poliomio di Lagrage di y=cos( [4 odi di iterpolazioe]..5 y=cos( odi equispaziati poliomio iterpolate -.5 - -.5-3 - - 3 Figura - Iterpolazioe co Poliomio di Lagrage di y=cos( [8 odi di iterpolazioe] Erroeamete si potrebbe cocludere che al crescere del grado, il poliomio P si avvicii idefiitamete alla fuzioe f. Tuttavia questo o è vero i geerale. Esiste, ifatti, il classico - 8 -
cotroesempio di Ruge (Carle Ruge, 856-97: per la fuzioe ( f = il poliomio + iterpolatore, all aumetare del grado (e quidi dei puti i comue co f, preseta u comportameto patologico, e aziché avviciarsi a f se e allotaa idefiitamete, come mostrato dai grafici segueti..5 f( odi equispaziati poliomio iterpolate (=8 -.5 - -.5-5 -4-3 - - 3 4 5 Figura 3 - Iterpolazioe co Poliomio di Lagrage di y= + [8 odi di iterpolazioe].5 f( odi equispaziati poliomio iterpolate (=.5 -.5-5 -4-3 - - 3 4 5 Figura 4 - Iterpolazioe co Poliomio di Lagrage di y= + [ odi di iterpolazioe] - 9 -
3. Errore di Iterpolazioe Alla luce di quato emerso ei precedeti paragrafi, risulta evidete l importaza di valutare l errore di iterpolazioe ovvero la distaza tra la fuzioe f iterpolada e il poliomio iterpolatore puti i. P ei + Data ua fuzioe f derivabile parecchie volte (cioè f C [ a, b] e dato il poliomio iterpola P che f sulle ascisse {,,, }, è possibile dimostrare che per ogi esiste u puto apparteete al più piccolo itervallo che cotiee i puti {,,, } defiita come:, tale che la fuzioe errore è E = f P = f ( + ( ξ k ( +! ω Tale teorema implica ecessariamete due aspetti fodametali: la quatità f ( + ( ξ essedo la fuzioe di classe la preseza del termie iterpolazioe. k dipede dalla fuzioe f ed è certamete maggiorabile co ua costate, + C ; ω implica che la disposizioe dei odi iflueza l etità dell errore di Richiamiamo a questo puto tre risultati fodametali della teoria dell approssimazioe: - qualsiasi sia la distribuzioe dei odi esiste sempre almeo ua fuzioe cotiua per cui l errore tede all ifiito (Teorema di Faber. Perciò approssimado ua fuzioe co u poliomio può accadere che, pur aumetado i puti di iterpolazioe (e quidi il grado del poliomio, la distaza tra quest ultimo e la fuzioe o vada a zero; - scelta ua fuzioe cotiua esiste sempre ua distribuzioe di odi tale che madi l errore di iterpolazioe a zero; - se la fuzioe oltre ad essere cotiua è derivabile almeo ua volta e vegoo scelti come odi gli zeri del poliomio di Chebychev: k + π k = cos co k =,,,, + allora l errore di iterpolazioe tede a zero (Teorema di Berstei.. - -
Poiché i odi di Chebychev foriscoo la soluzioe del problema di miimizzazioe dell errore ell itervallo [, + ], per otteere la disposizioe di tali odi su di u geerico itervallo [ b] ecessario applicare la trasformazioe: a, è t k b a = k b + a - -
3.. Implemetazioe MATLAB La valutazioe dei Nodi di Chebychev può essere effettuata i MATLAB mediate la fuzioe ac_chebychev.m. % ac_chebychev.m k=legth(i; =zeros(,k; 3 % calcolo degli zeri del poliomio di Chebychev di grado k 4 for i=:k 5 (i=cos((((*i+/(k*(pi/; 6 ed 7 % calcolo i odi ell'itervallo [a,b] 8 for i=:k 9 t(i=((b-a/*(i-((a+b/; ed I riferimeto al listato precedete: la riga ( iizializza il cotatore k ecessario per il calcolo degli zeri del poliomio di Chebychev; la riga ( iizializza il vettore el quale verrao memorizzate le ascisse dei odi di Chebychev; le righe (4, (5 e (6 soo u loop per il calcolo dell i-esimo zero del poliomio di Chebychev; le righe (8, (9 e ( soo u loop per il calcolo del valore dell ascissa dell i-esimo odo di Chebychev, teuto coto che o soo disposti ell itervallo [-,] besì i u geerico itervallo [a,b]. - -
Esempio Cosideriamo uovamete la fuzioe ( el caso di odi equispaziati e el caso di odi di Chebychev. f = e valutiamo l adameto dell errore di iterpolazioe +.5 f( odi equispaziati poliomio iterpolate (odi equispaziati odi di chebychev.5 -.5-5 -4-3 - - 3 4 5 Figura 4 Iterpolazioe di y= + [ odi equispaziati]. f( odi equispaziati odi di chebychev poliomio iterpolate (odi Chebychev.8.6.4. -. -5-4 -3 - - 3 4 5 Figura 5 - Iterpolazioe di y= + [ odi di Chebychev] - 3 -
-3 residuals poliomio iterpolate (odi equispaziati - - -3-4 -5-5 -4-3 - - 3 4 5 Figura 6 Errore di iterpolazioe [odi equispaziati] 3.5-4 residuals poliomio iterpolate (odi di Chebychev 3.5.5.5 -.5-4 -3 - - 3 4 Figura 7 Errore di iterpolazioe [odi di Chebychev] - 4 -
4. Approssimazioe el Seso dei Miimi Quadrati U problema di approssimazioe coivolge geeralmete casi i cui si posseggoo molti puti più o meo affetti da errori. I tal caso è scosigliabile affrotare u iterpolazioe dei dati dal mometo che è ota la preseza di forti errori sperimetali e la curva di iterpolazioe oscillerebbe per passare i tutti i puti. Ioltre calcolare il poliomio di migliore approssimazioe cosisterebbe el determiare quel poliomio P di grado che miimizzi ua orma dell errore, cioè mi P f p Poiché siamo i uo spazio a dimesioe ifiita, le orme o soo tutte equivaleti, pertato ua scelta razioale è quella di cosiderare la orma. Per le fuzioi essa è defiita come Siao {,,, } le ascisse degli f. Fissato u umero aturale m come: Se b ( ( ( f P = f P d a m puti per i quali soo oti i valori { y y,, }, y della fuzioe, per ogi P si cosidera la orma discreta defiita f P m ( ( = P i f i i= = m la soluzioe coicide co la soluzioe del poliomio iterpolate se ivece m > si ottiee la migliore approssimazioe el seso dei miimi quadrati rispetto alla orma scelta. Utilizzado la base caoica {,,,, } si ottiee: P ( i = a i = ( X a i = co i =,,,, dove: X = m m m è la matrice di Vadermode di dimesioe ( + ( + m - 5 -
Di cosegueza si ha: f P = m [ ( Xa i yi ] i= = X a y ovvero: mi P f P = mi + a R X a y Il problema risulta essere equivalete alla risoluzioe, el seso dei miimi quadrati, del sistema sovradetermiato lieari. X a = y che può essere risolto co uo dei metodi umerici per la risoluzioe dei sistemi - 6 -
Esempio Per la sperimetazioe umerica si è cosiderata la fuzioe trigoometrica f si( u vettore y di dati affetti da errore co distribuzioe gaussiaa: =. Si è ipotizzato.5 f(=si( (i,yi.5 -.5 - -.5-3 - - 3 Figura 8 Grafico della fuzioe y= si [ π, +π ] Attraverso alcui semplici passaggi si è proceduto alla costruzioe della matrice di Vadermode, alla risoluzioe del sistema lieare sovradetermiato X a = y ed alla defiizioe del poliomio iterpolate..5.5 -.5 - -.5 f(=si( (i,yi iterpolate el seso dei miimi quadrati -3 - - 3 Figura 9 Poliomio Iterpolate ai Miimi Quadrati - 7 -
Esempio =. Si è + Nel secodo esempio umerico è stato cosiderato il caso della la fuzioe di Ruge ( ipotizzato u vettore y di dati affetti da errore gaussiao: f. f( (i,yi.8.6.4. -. -5-4 -3 - - 3 4 5 + Figura Grafico della fuzioe y= f = [ 5, + 5] I risultati della risoluzioe del problema di approssimazioe el seso dei miimi quadrati soo mostrati ella figura seguete:. f( th degree (i,yi.8.6.4. -. -5-4 -3 - - 3 4 5 Figura Poliomio Iterpolate ai Miimi Quadrati - 8 -