Documente Academic
Documente Profesional
Documente Cultură
4.2.1. Generalităţi
Interpolarea unui set discret de date [xi, yi] presupune determinarea unei funcţii f(x)
astfel încât f(xi)=yi.
Să presupunem că dorim să estimăm valoarea y(x) pentru 2 puncte de coordonate (x 1,
y1) şi (x2, y2), unde x1 < x < x2. Dacă punctele sunt unite printr-o dreaptă, interpolarea se numeşte
liniară, iar dacă sunt unite printr-un polinom de gradul 3, interpolarea se numeşte spline cubică.
O altă problemă, frecvent întâlnită în inginerie electrică, constă în aproximarea unui set
de date cu o funcţie care reprezintă „cea mai bună aproximare”. În acest caz, funcţia determinată
nu va trece prin toate punctele şi va încerca să elimine posibilele erori de măsurare. De exemplu,
metoda celor mai mici pătrate furnizează cea mai bună aproximare, în sensul minimizării
pătratului distanţelor dintre punctele date şi funcţia de aproximare.
În tabelul următor se prezintă câteva din funcţiile MATLAB pentru interpolarea şi
aproximarea datelor.
Tabelul 4.1. Funcţii pentru interpolarea şi aproximarea datelor.
Fourier
spline Interpolează datele din tabele unidimensionale prin metoda Spline
polyfit Aproximează un set de date cu un polinom de gradul n
interp1 Interpolează liniar, spline sau cubic date din tabele unidimensionale
interp2 Interpolează biliniar sau bicubic date din tabele bidimensionale
Căutarea datelor în tabele este operaţia prin care o anumită valoare este citită dintr-un
tabel predefinit. Aceste operaţii sunt utile în special în proiectare, când trebuie căutate elemente
normalizate de diferite dimensiuni sau parametrii; ca de exemplu, alegerea secţiunii unui
conductor sau alegerea unui tranzistor.
Căutarea datelor în tabele unidimensionale se apelează cu sintaxa:
table1(tabel, t)
în care tabel este numele tabelului din care se citesc datele şi care este o matrice ce are pe prima
coloană valorile lui t (abscisa ordonată crescător), iar pe coloanele 2:n+1 sunt cele n variabile
căutate.
Căutarea datelor în tabele bidimensionale se face cu funcţia table2, şi se apelează cu
sintaxa:
y = table2(tab, x, y)
Tabelul bidimensional „tab” din care se citesc datele trebuie să fie organizat ca o matrice
care are pe prima coloană valorile lui x, ordonate crescător, iar în prima linie valorile lui y, de
asemenea, ordonate crescător. Celelalte elemente din tabel sunt valorile z asociate perechilor (x,
y). Elementul z(1, 1) = 0.
Obiectivul interpolării îl constituie estimarea valorilor unei funcţii f(x) pentru orice
punct x=[x1, x2] al unui set de date. Curba de interpolare trece prin toate punctele care o definesc.
Legea de interpolare poate fi liniară, cubică sau polinomială [1, 2].
Interpolarea spline cubică reprezintă o curbă netedă dintre fiecare pereche de puncte,
definită de un set de polinoame de gradul trei. De exemplu, şase puncte sunt conectate între ele
prin cinci curbe diferite de gradul trei. Se apelează cu sintaxa:
yi = spline(x, y, xi)
Unde x şi y sunt vectorii care conţin abscisele şi ordonatele setului de date (cu pas de
eşantionare mare), xi este un vector care conţine noile abscise, de regulă cu un pas mai fin, iar yi
este vectorul returnat asociat vectorului xi. Toate legile de interpolare necesită ca elementele lui
x să fie ordonate crescător. În plus, metoda de interpolare cubică cere ca punctele de pe axa x să
fie situate la distanţe egale.
Pentru a sublinia diferenţa dintre cele două tipuri de interpolări (liniară şi spline), se
prezintă câteva exemple în secţiunea următoare, finalizate prin reprezentări grafice.
Interpolarea funcţiilor de două variabile (suprafeţe) include interpolarea după o lege bi-
armonică, interpolarea după o lege bi-liniară, bi-cubică sau interpolarea multiplă.
De exemplu, funcţia interp2 interpolează datele funcţiilor de două variabile după o lege
bi-liniară sau bi-cubică.
Pentru ca aproximarea să fie considerată „cea mai bună” suma pătratelor distanţelor de
38 Tehnici de interpolare şi aproximare a datelor - 4
la fiecare punct la curba (dreapta) aproximată (linie sau polinom) trebuie să fie minimă. Este
posibil ca nici un punct să nu se găsească pe curba aproximată. Acest lucru separă foarte clar
aproximarea de interpolare.
Aproximarea datelor printr-o linie dreaptă se numeşte regresie liniară, iar aproximarea
unor date printr-un polinom se numeşte regresie polinomială.
A. Regresia liniară
Regresia liniară minimizează suma pătratelor dintre dreapta de aproximare şi punctele
date. Măsura calităţii unei aproximări liniare este dată de suma pătratelor, după cum reiese şi din
ecuaţia (4.1):
sum _ p sum( y y1 ). ^ 2 …………………………………...(4.1)
Determinarea parametrilor m şi n ai dreptei (polinomului) de aproximare y=mx+n se
face utilizând funcţia polyfit.
B. Regresia polinomială
Regresia polinomială este o aproximare a unui set de date printr-un polinom de forma:
p( x) ai x N i a0 x N a1 x N 1 ... a N 1 x a N ...(4.2)
Dacă setul de date are N elemente, toate datele se află pe curba de aproximare.
Determinarea celei mai bune aproximări a unui set de date (x, y) cu un polinom de
ordinul n, se poate face cu funcţia polyfit, şi poate fi apelată cu sintaxa:
p = polyfit(x, y, n)
Funcţia polyfit returnează coeficienţii ai ai polinomului p(x), care în punctele precizate
de vectorul x, are în sensul celor mai mici pătrate, valorile date de vectorul y.
load census
Acest set de date va genera fişierele cdate şi pop.
Următorul pas constă în accesarea bibliotecii grafice Basic Fitting din meniul Tools al
figurii generate de funcţia plot(cdate, pop), după cum rezultă din figura 4.3.
a)
b)
Fig. 4.3. a) Reprezentarea grafică a fişierului de date census şi
b) interfaţa grafică Basic Fitting.
Interfaţa grafică interactivă Basic Fitting – 1 (Fig. 4.3 b) a fost obţinută setând opţiunea
Show equations şi alegând afişarea rezultatului numeric de tip quadratic.
Dacă se doreşte interpolarea datelor utilizând metoda Spline cubică şi aproximarea lor
cu un polinom de ordinul trei, se setează opţiunea cubic, iar dacă se doreşte să se evalueze fişierul
de date cdata şi apoi să se reprezinte grafic şi reziduul, după ce se alege opţiunea plot residuals,
se apăsa butonul cu săgeata spre dreapta (înainte), şi se tastează în căsuţa din partea dreaptă
numele fişierului. Se obţin graficele din figura 4.4.
40 Tehnici de interpolare şi aproximare a datelor - 4
a)
b)
Fig. 4.4. Interfaţa grafică Basic Fitting, (a), pentru interpolarea datelor cu metoda Spline cubică şi,
(b), formele de undă cu fişierul de date şi cu eroarea reziduală dintre cele două grafice.
Figura 4.5 arată faptul că, interfaţa grafică Data Statistics oferă posibilitatea obţinerii
unor informaţii statistice despre valoarea minimă, maximă, medie sau despre abaterea standard a
fişierului de date analizat.
Exemplul 4.1: Să se scrie un fişier script care să reprezinte grafic o interpolare liniară şi
una spline cubică prin 6 puncte.
Exemplu 4.2: Să se aproximeze acelaşi set de date utilizat în exemplul anterior, folosind
metoda celor mai mici pătrate.
Exemplul 4.3 [2]: Fie polinomul p(x) = x3-6x2+11x-6, peste care este suprapus un
zgomot cu distribuţie normală. Aproximaţi datele rezultate cu un polinom de gradul 3, utilizând
metoda celor mai mici pătrate. Reprezentaţi grafic datele cu zgomot şi polinomul aproximat.
Fig. 4.8. Aproximarea datelor cu un polinom de gradul trei utilizând metoda celor mai mici pătrate.