Documente Academic
Documente Profesional
Documente Cultură
In foarte multe aplicatii practice apare necesitatea aproximarii unei functii f: [a,b]→R
printr-o alta functie F(x) relativ simpla, astfel ca pentru orice valoare a lui x, valoarea lui F(x) sa
fie ˝suficient de aproape ˝de valoarea lui f(x) adica f(x)≈F(x), x [a,b].
Exista in special doua cazuri in care se impune aproximarea functiei f(x).Primul este acela
in care functia f(x) are o expresie complicata si este dificil de evaluat sau de manipulat in calcule.
Astfel, de exemplu, pentru evaluarea functiei cos(x) prin operatii aritmetice se impune mai intai
aproximarea functiei printr-o suma partiala a seriei de puteri:
x2 x4 x 2n
cos(x) x ≈ 1- + .......(1) n (4.1)
2! 4! (2n)!
Al doilea caz in care se impune aproximarea functiei f(x) este acela incare aceasta este data
printr-o tabela de valori, obtinuta, de exemplu, ca urmare a unor masuratori:
xk x0 x1 x2 … xn
__________________________________________
In aceasta situatie se aproximeaza functia data tabelar printr-o expresie, care sa permita
interpolarea in tabela de valori, cu alte cuvinte estimarea valorilor f(x) pentru x≠xk sau pentru orice
x ( x k 1, x k ) Prin extrapolare se intelege estimarea valorilor functiei y(x) in puncte care se gasesc
in afara intervalului in care se afla argumentele date: x0, x1,………, xn.
Fie M={f: f: [a,b]R} un spatiu vectorial si fie o multime de functii φ0(x), φ1(x),…… φk(x)
apartinand lui M, liniar independente, adica daca c0φ0(x)+ c1φ1(x)+………+ ckφk(x)=0, sa rezulte
c0 = c1=………….=ck = 0.
Aproximarea unei functii f oarecare din M se face printr-o combinatie liniara de un numar
finit n de functii de tipul functii φk, adica adica f(x) ≈F(x), unde F(x)=c0φ0(x) +
n
c1φ1(x)+……+cnφn(x)= c k k ( x) .Vom numi functia Fn(x) polinom generalizat, aproximarea
k 1
functiei f facandu-se in acest caz prin polinoame generalizate.
Foarte frecvent in procesul de aproximare se iau drept set de functii liniar independente,
functiile 1, x, x2, ……..xn. In acest caz, polinomul de aproximare Fn(x) va fi un polinom
algebric. Polinoamele sunt usor de evaluat, iar suma, diferenta si produsul a doua polinoame
conduc de asemenea la polinoame. In plus, polinoamele pot fi derivate si integrate cu
usurinta.
Aproximarea polinomiala se bazeaza pe teorema de aproximare a lui Welerstrass care arata
ca daca f(x) este continua pe intervalul inchis [a,b], atunci pentru orice ε>0, exista un polinom
pn(x) de gradul n=n(ε), astfel ca:
Daca in spatiul metric M se defineste distanta dintre doua puncte f si g in felul urmator:
n,
d(f,g)= f ( xi ) g ( xi ) ,se ajunge la criteriul de aproximare prin interpolare. Daca se
i 0
inlocuieste functia g(x) prin polinomul de interpolare Fn(x), conditia ca distanta dintre functia f(x)
si polinomul de interpolare Fn(x) sa fie minima impune sistemul de ecuatii: Fn(xi)=f(xi), i=0,1,
2,…,n.
Alegand valorile xi, ca fiind cele din tabela, sistemul de ecuatii impune de fapt coincidenta
dintre functie si polinom in punctele xi numite noduri de interpolare (Fig. 4.1.)
Fig.4.1
Se observa din figura ca intre cele doua noduri de interpolare abaterea polinomului de
interpolare de la functia data ∆(x)=f(x)–Fn(x) poate atinge valori apreciabile.
Schimband pozitia nodurilor de interpolare se poate micsora valoarea abaterii maxime de la
functia data.
Este recomandabil sa se ia nodurile de interpolare dispuse analog zerourilor polinomului
Cebisev de acelasi grad cu polinomul de aproximare.
Deci pentru polinomul de interpolare de gradul n nodurile de interpolare pot fi calculate cu
formula:
2k 1
xk=cos , k=1,2,……….n (4.3)
n 2
In interiorul intervalului de convergenta functia eroare tinde spre zero atunci cand n tinde spre
infinit, dar in exteriorul acestui interval poate sa creasca oricat de mult.
Coeficientii ck ai polimomului de interpolare dat astfel:
se calculeaza conform celor aratate mai sus, rezolvand sistemul de n+1 ecuatii liniare cu
(n+1) necunoscute c0, c1,……..,cn.
1 x0 x02 x0n
∆= 1 x1 x12 x1n
1 xn x n2 x nn
este de fapt determinantul Vandermonde si acesta este diferit de zero daca xi xj, i j, deci daca
nodurile sunt distincte. Rezulta un sistem (c0, c1,………cn) unic determinat , deci polinomul de
interpolare este unic.
De remarcat ca exista o legatura intre numarul punctelor in care functia data este tabelata si
gradul polinomului de interpolare. Din aceasta cauza o tabela extinsa conduce la un polinom de
aproximare de grad mare, ceea ce constituie un dezavantaj.Interpolarea, ce foloseste tot intervalul
dintre nodurile extreme ale tabelei de valori, poarta numele de interpolare globala.
Fig.4.3.
Conform principiului aproximarii prin interpolare, se impune coincidenta functiei cu
polinomul de gradul intii ales pentru aproximare in xk si xk+1.
Se scrie ecuatia dreptei ce trece prin punctele A[xk, f(xk] si B[ xk+1, f(xk+1]:
y f ( xk ) x xk
= (4.6)
f ( x k 1 f ( x k ) x k 1 x k
Rezulta:
f ( x k 1 ) f ( x k )
Y= ( x xk ) f ( xk )
x k 1 x k
f ( x k 1 ) f ( x k ) f ( x k 1 f ( x k )
P(x)= x+ f ( x k ) xk (4.7)
x k 1 x k x k 1 x k
Reprezentand grafic functia de mai sus obtinem o dreapta numita dreapta de interpolare. Este
evident ca abaterea ∆(x)=│f(x)-P(x)|, depinde de intervalul [xk,xk+1], de curbura functiei f(x) si
deci de valoarea lui f˝(x). Deoarece interpolarea liniara da rareori satisfactie (eroarea este mult
prea mare), se foloseste de obicei un polinom de grad superior (interpolare polinomiala).
Folosind acest proces cu set de functii cubice polinomiale unice sunt potrivite intre
fiecare pereche de puncte cu precizarea ca curba obtinuta este continua si apare neteda.
Ideea esentiala este de a utiliza o functie pe portiuni de forma
S 0 ( x) x0 x x1 x [ x0 , x1 ]
S ( x) x1 x x 2 x [ x1 , x 2 ]
1
S ( x) (4.9)
S n 1 ( x) x n 1 x x n x [ x n 1 , x n ]
S i ( x) ai ( x xi ) 3 bi ( x xi ) 2 ci ( x xi ) d i i 1, n 1 (4.10)
S i ( x) 3ai ( x xi ) 2 2bi ( x xi ) ci
i 1, n 1
S i ( x) 6ai ( x xi ) 2bi
2. S (x) va fi continua pe [ x1 , xn ] in xi , i 1, n 1 S i 1 ( xi ) S i ( xi )
3. S (x) va fi continua pe [ x1 , xn ] in x i Si 1 ( xi ) Si ( xi ) i 1, n 1
4. S (x) va fi continua pe [ x1 , xn ] in x i S i1 ( xi ) S i ( xi ) i 1, n 1
1 S ( xi ) yi
S ( xi ) yi i 1, n 1
a ( xi x i ) 3 b( x i x i ) 2 c ( xi x i ) d i y i i 1, n 1
d i yi i 1, n 1
S i ( xi ) S i 1 ( xi ) i 1, n 1
S i ( xi ) d i
S i 1 ( xi ) ai 1 ( xi xi 1 ) 3 bi 1 ( xi xi 1 ) 2 ci 1 ( xi xi 1 ) d i 1 i 2, n
d i ai 1 ( xi xi 1 ) 3 bi 1 ( xi xi 1 ) 2 ci 1 ( xi xi 1 ) d i 1
h xi xi 1
d i ai 1 h 3 bi 1 h 2 ci 1 h d i 1 i 2, n
3. Pentru a avea o curba neteda pe interval trebuie ca derivatele sa fie continue, adica sa fie
egale in punctele de interpolare:
S i ( xi ) S i 1 ( xi ) i 1, n 1
i 1 S 2 ( x2 ) S1 ( x2 )
i2 S 3 ( x2 ) S 2 ( x3 )
S i( xi ) Ci
S i1 ( xi ) 3ai 1 ( xi xi 1 ) 2 2bi 1 ( xi xi 1 ) C i 1 C i 3ai 1 ( xi xi 1 ) 2 2bi 1 ( xi xi 1 ) C i 1
xi xi 1 h
C i 3ai 1 h 2 2bi h ci 1 i 2, n 1
S i( x) 6ai ( x xi ) 2bi
S i( x) 2bi i 2, n 1
Pentru ca S i(x) trebuie sa fie continua in x i
S i( x1 ) S i1 ( yi ) i 1, n 1
S i( xi 1 ) 6ai ( xi 1 xi ) 2bi
S i1 ( xi 1 ) 6ai ( xi 1 xi ) 2bi
h xi 1 xi
S i1 ( xi 1 ) 6ai ( xi 1 xi ) 2bi
6ai ( xi 1 xi ) 2bi 2bi 1
2bi 1 6ai h 2bi
Una din calitatile functiilor spline sta in capacitatea lor de a corela date care nu nu urmeaza
nici un model.Sunt necesari, pentru n functii cubice S i , adica pentru a determina polinoamele
cubice, 4n conditii (pentru ca pentru nu polinom de gradul trei avem patru conditii de alegere a
curbei).Proprietatea de interpolare conduce la n 1 conditii (0 la n). Din fiecare conditie 2,3,4
rezulta inca 3 (n 1) ecuatii 3n 3 in total. 3n 3 4 1 4n 2 pana la 4n mai sunt necesare
doua ecuatii.
Daca inpunem S ( x0 ) S ( xn ) 0 functii spline cubice naturale.
Functiile spline cubice au urmatoarea proprietate fundamentala : dintre toate functiile cu
derivata a doua continua, care interpoleaza functia f(x) in nodurile
x0, x,1,...xn functia spline clasica g(x) este unica care minimizeaza functionala :
b
[g ( x)dx .Aceasta explica de ce functia spline nu prezinta ”oscilatii ‘’, ea incercind sa
''
a
minimizeze curbura medie a graficului.
Dacă în expresia distanţei anterioare se inlocuieşte g(x) cu Fm(x), (m<=n), atunci se ajunge
tot la o aproximare cu abatere medie pătratică minimă, această metodă purtând numele de metoda
celor mai mici pătrate lui Gauss. Ea este o metodă des utilizată la prelucratrea matematică a datelor
experimentale si se foloseste ori de câte ori există indoieli asupra exactităti valorilor f(xi) obtinute
experimental.
Uneori se intâmplă ca polinomul de aproximare să aibă un grad mai mic decât numarul de
perechi de date experimentale (xi,yi).
În acest caz nu se recomandă să se impună identificarea polinomului de aproximare cu funcţia dată
în xi aşa cum se întâmplă în cazul interpolării. Deoarece criteriul de interpolare face o legătură între
gradul polinomului de aproximare şi numărul de valori xi , se recomandă în acest caz utilizarea
metodei celor mai mici pătrate care nu impune asemenea condiţii. Aproximarea medie pătratică
cere ca polinomul de aproximare să se calculeze astfel incât valorea abaterii
m
mediepatratica f ( xi ) Fm ( xi ) să fie minimă
i
Din punct de vedere geometric criteriul de aproximare cu abatere pătratică medie minimă
conduce la cerinta ca aria cuprinsa intre graficele functiilor f si Fm(x) sa fie minima.
Regresie liniară reprezintă cel mai simplu caz de aproximare a unui set de date cu un
polinom de gradul intâi y = ax + b-dreapta de regresie ; Determinarea coeficientilor a şi b se
numeşte analiză de regresie liniară.
Dacă n este numărul de perechi de valori experimentale atunci determinarea parametrilor
a şi b se face din condiţia ca suma pătratelor distantelor (distantele dintre dreapta de regresie si
punctele experimentale să fie minimă) – Principiul lui Legendre.
Abaterile se numesc reziduuri şi se datorează erorilor experimentale sau neadecvanţei
modelului ecuaţiei de regresie.
n
Analitic: U (a, b) yi (axi b) minim
2
i 1
n
Dacă se notează rezidurile cu i yi (axi b) atunci U (a, b) i 2 minim.
i 1
Condiţia de minim conduce la anularea derivatelor parţiale ale lui U în raport cu a şi b.
U U
0; 0
a b
Acest sistem se numeşte sistem de ecuaţii normale.
Obţinem:
U n
U n
2( yi (axi b))xi 0 2( yi (axi b)) 0
a i 1 b i 1
sau
n n u
xi yi a xi b xi 0
n n
x x
2
2
i 1 i i
n xi2 xi
i 1 i 1
n n n
i 1 i 1 2
y a x b0
n
i 1
i
i 1
i
i 1 xi 1
i n
n n n
i x y x
2
a x b x xi yi
n xi yi x i yi
i
i 1 i 1 i 1 a
i i i
n
a x nb
n
y n
i
yi
i 1 i
i 1
x x y x y x x y
2
i i i
b 2
x y
i i i i i
i i
a
n x y x y
i i i i
n x x 2 2
i i
b
x y x x y
2
i i i i i
n x 2 2
i i
x y
x y
Notăm cu i i
n n
Coordonatele ( x y ) verifică ecuatia dreptei de regresie y ax b iar punctul cu aceste
coordonate centru de greutate
Exemplul 10
Se dau perechile :
xk = -1 0 1 2 yk = 1 0 1 4
Se cere dreapta de regresie ce aproximeaza datele de mai sus.
Sistemul de ecuatii ce permit determinarea coeficientilor a si b ai dreptei de regresie este :
4b + 2a = 6
2b + 6a = 8
Se obtine solutia sistemului a=1, b=1. Dreapta de regresie cautata este y=x+1.
Exemplul 11
Fie perechile x=[0 1 2 3 4 5];y=[0 20 60 68 77 110];
Se cere determinarea dreptei de regresie si a polinoamelor de ordin 3 si 5 care
aproximeaza, in sensul ce lor mai mici patrate, perechile de date.
Sa se reprezinte grafic cele 3 polinoame si sa se compare suma patratelor distantelor .
Sursa Matlab este :
coef1=polyfit(x,y,1)
m=coef1(1);
n=coef1(2);
y1=m*x+n;
sum_p1=sum((y-y1).^2);
coef3=polyfit(x,y,3);
y3=polyval(coef3,x)
sum_p3=sum((y-y3).^2);
plot(x,y,x,y1,'o')
hold on
plot(x,y,x,y3,'*')
coef5=polyfit(x,y,5);
y5=polyval(coef5,x)
sum_p5=sum((y-y5).^2);
plot(x,y,x,y5,'r o')