Sunteți pe pagina 1din 6

57

LUCRAREA Nr. 7
INTERPOLAREA I EXTRAPOLAREA FUNCIILOR
DE O VARIABIL
1. Scopul lucrrii
Lucrarea are ca scop prezentarea i nsuirea de ctre studeni a
modului de lucru pentru realizarea interpolrii i extrapolrii funciilor de o
variabil, utiliznd produsul Mathcad.
2. No!iuni teoretice
2.1. Interpolarea func!iilor de o variabil
Problema aproximrii unei funcii de o variabil trebuie rezolvat n
diverse situaii, urmtoarele dou fiind mai frecvente:
funcia este cunoscut, dar are o form complicat, dificil de aplicat
n calcule;
funcia nu este complet cunoscut, fiind date numai valorile ei pe o
mulime discret i finit de puncte.
n primul caz, aproximarea se poate face destul de exact, restriciile
fiind legate de condiia ca, funcia care aproximeaz s fie ct mai simpl.
n al doilea caz informaiile sunt reduse i se completeaz cu
presupuneri suplimentare, privind gradul de regularitate al funciei. Este
cazul prezentat n continuare.
Fiind dat o funcie f, cunoscut prin msurtori efectuate asupra ei, n
punctele x
1
,...,x
n
, numite noduri de interpolare, yi=f(xi), se cere s se
determine valoare aproximativ a acestei funcii n punctul a/x
i
, ( 0)i=1n.
n Mathcad sunt definite funcii care rezolv problema aproximrii
funciilor prin interpolare liniar sau interpolare spline.
2.1.1. Interpolare liniar
Pentru a realiza interpolarea liniar se apeleaz funcia
linterp(vx,vy,x), care determin valoarea de interpolare n punctul x pentru
vectorii de date vx i vy.
ndrumar de laborator APLICA-II N MATHCAD 2I MATLAB

58
Argumentele funciei linterp(vx,vy,x) sunt:
vx este un vector de date reale n ordine cresctoare;
vy este un vector de date reale care trebuie s aib acelai numr de
elemente ca i vectorul vx;
x este valoarea real a variabilei independente din rezultatul de
interpolare. Pentru rezultate corecte, aceasta trebuie s aib domeniul de
variaie acoperitor fa de valorile lui vx.
Urmtoarea secven realizeaz o interpolare liniar, prin funcia
linterp(x,y,a), cunoscndu-se cinci valori ale vectorilor de date, x i y.
Aplicaie:

l a ( ) linterp x y , a , ( ) :=
a 1 1.001 , 3 .. :=
i 1 5 .. :=
Rezult valoarea funciei l n punctul
a=1.5:
l(1.5)=1.414.
2.1.2. Interpolare spline
Interpolarea spline cubic, n una sau dou dimensiuni, aproximeaz
prin funcii spline, caracterizate prin trei forme diferite (cspline, pspline sau
lspline) pe subintervalele dintre dou noduri i prin anumite condiii de
racordare n noduri. Funcia definit n Mathcad este interp(vs,vx,vy,x)
care determin valorile interpolrii spline pentru vectorul vy n punctele x,
utiliznd vectorul de ieire vs pentru cspline, pspline sau lspline, cu
condiii de racordare n noduri cubice, parabolice, respectiv liniare.
Argumentele funciei interp(vs,vx,vy,x) sunt:
vx i vy sunt vectori de date reale care au aceeai lungime.
Elementele vectorului vx, date independente, sunt n ordine cresctoare;
vs este vectorul generat de cspline(vx,vy), pspline(vx,vy) sau
lspline(vx,vy);
x
1
1 := x
2
1.3 := x
3
2 := x
4
2.8 := x
5
3 :=
y
1
1.5 := y
2
1.3 := y
3
1.7 := y
4
1.4 := y
5
1.9 :=
1 2 3
1.2
1.4
1.6
1.8
l a ( )
y
i
a x
i
,
INTERPOLAREA 2I EXTRAPOLAREA FUNC-IILOR DE O VARIABILE
59
x este valoarea real a variabilei independente din curba de
interpolare. Pentru rezultate ct mai exacte, aceasta trebuie s aib domeniul
de variaie acoperitor fa de valorile lui vx.
Primul argument al funciei interp, vectorul vs, determin vectorul
derivatelor de ordinul doi pentru vectorii de date vx i vy i poate fi:
cspline(vx,vy), funcie spline de ordinul trei, curba rezultant ntre
noduri fiind cubic;
pspline(vx,vy), funcie spline de ordinul doi, rezultnd segmente de
parabol racordate n noduri;
lspline(vx,vy), funcie spline de ordinul nti, rezultnd o linie
poligonal ntre noduri.
Urmtoarea secven rezolv aceeai problem ca i la interpolarea
liniar, realiznd o interpolare spline, prin funcia interp(vs,x,y,a), cu cele
trei condiii diferite:

Aplicaie:
2.2. Extrapolarea func!iilor de o variabil
Pentru extrapolarea funciilor de o variabil se folosete funcia
definit predict(v,m,n), care determin vectorul urmtoarelor n valori
estimate n funcie de valorile precedente ale vectorului v. Funcia predict
utilizeaz metoda Burg de calcul a coeficienilor pentru ultimele m puncte
din vectorul v.
Argumentele funciei predict(v,m,n) sunt:
v este vectorul care conine valorile reale date;
x
1
1 := x
2
1.3 := x
3
2 := x
4
2.8 := x
5
3 :=
y
1
1.5 := y
2
1.3 := y
3
1.7 := y
4
1.4 := y
5
1.9 :=
a 1 1.001 , 3.1 .. := i 1 5 .. :=
sc a ( ) interp cspline x y , ( ) x , y , a , ( ) :=
sp a ( ) interp pspline x y , ( ) x , y , a , ( ) :=
sl a ( ) interp lspline x y , ( ) x , y , a , ( ) :=
1 1.5 2 2.5 3 3.5
1
1.5
2
2.5
sc a ( )
sp a ( )
sl a ( )
y
i
a a , a , x
i
,
ndrumar de laborator APLICA-II N MATHCAD 2I MATLAB

60
m, n sunt numere ntregi pozitive, 0<m<length(v)-1. n practic, m
trebuie s fie mult mai mic dect length(v).
Aplicaie:
S se determine urmtoarele 10 valori n funcie de ultimele 20 de
valori date, utiliznd funcia predict:
3. Chestiuni de studiat
3.1. S se aproximeze i s se reprezinte grafic prin interpolare liniar
i apoi prin interpolare spline cubic vectorii de date m i n, cu valorile de
mai jos:
1 2 3 4 5
1 2 3 4 5
: 1; : 1.7; : 2.1; : 2.5; : 3;
: 1.5; : 1.3; : 1.7; : 1.4; : 1.9.
m m m m m
n n n n n
= = = = =
= = = = =

3.2. S se aproximeze i s se reprezinte grafic prin interpolare liniar
i apoi prin interpolare spline cubic vectorii de date m i n, ale cror
valorile sunt coninute n coloana 1, respectiv coloana 2 din matricea A:
k 1 100 .. :=
dat
k
exp
k
100
|

\
|
|
.
sin
k
10
|

\
|
|
.
:=
p predict dat 20 , 10 , ( ) :=
p
1
1
2
3
4
5
6
7
8
9
10
-0.228
-0.252
-0.274
-0.293
-0.308
-0.32
-0.328
-0.333
-0.335
-0.333
=
0 50 100 150
1
0.5
0
0.5
1
dat
k
p
i
k i 101 + ,
INTERPOLAREA 2I EXTRAPOLAREA FUNC-IILOR DE O VARIABILE
61
1 10
2 20
3 23
4 4
: .
5 35
6 24
7 2
8 7
A
| |
|
|
|
|
|
=
|
|
|
|
|
|
\ .
3.3. S se aproximeze i s se reprezinte grafic prin interpolare liniar
i apoi prin interpolare spline cubic vectorii de date m i n, ale cror valori
sunt coninute n fiierul exterior de date cu numele datati.prn.

3.4. S se aproximeze i s se reprezinte grafic prin interpolare liniar
i apoi prin interpolare spline cubic vectorii de date m i n, ale cror valori
sunt coninute n fiierul exterior de date cu numele fia1.prn
3.5. S se extrapoleze i s se reprezinte grafic urmtoarele 25 de
valori n funcie de precedentele 20 de valori ale vectorului:
100
: sin
10
k
k
k
v e

| |
=
|
\ .
, : 1..50. k =
ndrumar de laborator APLICA-II N MATHCAD 2I MATLAB

62
4. Modul de lucru
4.1. Se vor realiza cerinele impuse inndu-se cont de noiunile
teoretice prezentate n 2.1.
4.2. Pentru a se realiza cerinele se va ine cont de noiunile teoretice
prezentate n 2.1. ct i de noiunile despre operatorii specifici matricelor
din bara de instrumente Matrix (Lucrarea 4/2.).
4.3. Se vor realiza cerinele inndu-se cont de noiunile teoretice
prezentate n 2.1. ct i de noiunile despre crearea vectorilor i matricelor
(Lucrarea 4/2.1.).
4.4. Se va proceda ca la punctul anterior.
4.5. Pentru a se realiza cerinele impuse se va ine cont de noiunile
teoretice prezentate n 2.2.
5. Con!inutul referatului
Referatul trebuie s conin:
Titlul i scopul lucrrii
Noiuni teoretice
Chestiuni de studiat
Rezultatele obinute i observaii personale.