Sunteți pe pagina 1din 6

6.

7 Mod de lucru
1Interpolarea polinomiala uniforma /Cebsev
Cu ajutorul programului SCILAB putem genera interpolarea functiilor. Selectam optiunea Interpolare
polinomiala in care vom studia functia exponentiala si functia Runge.
Functia exponentiala
f(x)=e
x
(1)
Vom rula functia 1 pentru n avand valori intre 2 si 20. Limita inferioara va fi 0, iar cea superioara 20.
n 2 3 5 10 15 20
uniform 2.83*10
8
2.00*10
8
8.81*10
7
4.73*10
6
7.31*10
4
2.95*10
2

neuniform 2.83*10
8
1.74*10
8
5.03*10
7
8.56*10
6
2.83*10
3
2.60*10
0

Tabel 1
Cu cate creste valoarea lui n,graficul retelei interpolate se apropie din ce in mai mult de graficul
real.Norma polinomiala Cebisev are o aproximare mai buna dupa 20 de iteratii fata de cea uniforma,
dupa cum se poate observa si din graficul 1.

Grafic 1

Functia Runge
F(x)=1/(1+x
2
)
n 2 3 5 10 15 20
uniform 5.24*10
-1
3.48*10
-1
1.20*10
-1
1.43*10
-1
7.83*10
-2
8.03*10
-3

neuniform 5.24*10
-1
2.98*10
-1
9.21*10
-2
5.35*10
-2
3.61*10
-3
2.22*10
-2

Tabel 2


Grafic 2
De data asta aproximarea este mai buna in cazul retelei uniforme de interpolare.

6.7.2 Analiza experimentala a erorilor de interpolare
Pentru a analiza erorile care apar in procesul de interpolare, ne vom folosi de functia sinus.Se vor folosi
cele trei metode de interpolare:clasica, Lagrange,Newton. Datele introduse vor fi:
Valoare initiala:1
Valoare finala:8
Pasul:1
n 1 2 3 4 5 6 7 8
eroare 0.9994 0.9994 0.2545 0.1797 0.0267 0.0187 0.0016 0.0012
Tabel 3
Se poate observa ca eroarea in cazul functiei sinus este aceiasi pentru toate metodele.Eroarea in functie
de gradul polinomului de interpolare este reprezentata in graficul 3.Se observa ca aceasta scade odata
cu marirea lui n, valoarea maxima inregistrandu-se pentru n=1, iar minimul fiind la n=8.

Graphic 3
6.7.3 Analiza experimentala a timpului de calcul necesar inter-
polarii polinomiale

Cu ajutorul subprogramului Analiza algoritmilor-timpi de calcul din meniul principal se vor determina
timpii de calcul necesari interpolarii functiei sinus pe o perioada. Se vor folosi metodele de interpolare:
Lagrange,clasica si Newton.
n 20 40 60 80 100
Newton 0.00 0.01 0.03 0.04 0.06
Clasica 0.01 0.15 0.54 1.18 2.27
Tabel 4
In tabelul 4 sunt timpii de pregatire ale celor 3 metode. Se observa ca metoda Lagrange nu are nevoie de
timp de pregatire.Dintre metoda clasica si Newton timpul de pregatire cel mai mic este la metoda
Newton.
n 20 40 60 80 100
Newton 0 0.01 0.01 0.01 0.03
Lagrange 0.18 0.62 1.40 2.46 3.82
Clasica 0.01 0.01 0 0.01 0.01
Table 5
In tabelul 5 sunt timpii de evaluare ale celor 3 metode. Cel mai mic timp de evaluare se inregistreaza la
clasica.
Pentru o mai buna vizualizare a graficului timpului de calcul , respective a timpilor de evaluare, am
inmultit valorile obtinute in cazul metodelor Newton si clasica cu 100, intrucat valorile acestea sunt mult
mai mici fata de cele obtinute prin metoda Lagrange iar graficul original fiind greu de citit.
Se oberva ca timpii de evaluare in cazul metodelor Newton si Clasica sunt mici,aceste metode avand si
timpi de pregatire.In cazul metodei Lagrange, atat evaluarea cat si pregatirea se realizeaza simultan,
rezultand un timp mai mare.

Grafic 4


4. Implementare
Am realizat implementarea metodei Lagange fara pregatire pe exemplul nr 1 (1).
n=2;
x=[1 2 4];
y=[2 1 3];
xcrt=0;
ycrt=0;
p=0;
for k=1:n+1
p=1;
for j=1:n+1
if j~=k
p=p*(xcrt-x(j))/(x(k)-x(j))
end
end
ycrt=ycrt+y(k)*p;
end
ycrt

Apoi am implementat si meoda Lagrange cu pregatire tot pentru exemplul nr 1 din indrumar.
n=2;
x=[1 2 4];
y=[2 1 3];
c=[0 0 0];
for k=1:n+1
c(k)=y(k);
for j=1:n+1
if j~=k
c(k)=c(k)/(x(k)-x(j));
end
end
end

xcrt=0;
p=1;
for k=1:(n+1)
p=p*(xcrt-x(k));
if p==0
y(k)
end
end
ycrt=0;
for k=1:n+1
ycrt=ycrt+c(k)/(xcrt-x(k));
end
ycrt=p*ycrt
ycrt






(1) indrumarLMN2013

S-ar putea să vă placă și