Sunteți pe pagina 1din 20

UNIVERSITATEA POLITEHNICA BUCURESTI

FACULTATEA DE INGINERIE ELECTRIC

Interpolarea polinomiala a functiilor


reale
Referat pentru disciplina Metode numerice in inginerie electrica
Grupa: 121 B
Responsabil referat

BARBIERU Raluca
NEAGU Cristian Andrei
ROSU Laura
SCARLAT Vasile Marius
TOFAN Maria Bianca

Data efecturii lucrrii:

20/11/2013

Data predrii referatului:

27/11/2013

Contributia studentilor la referat


BARBIERU Raluca

Responsabil referat.
Asamblarea contributiilor primite de la colegi.
Redactarea paragrafelor 1.2.1 , 2.3

NEAGU Cristian Andrei

Redactarea paragrafelor 1.1 ,2.1

ROSU Laura

Redactarea paragrafelor 1.2.2, 2.2

SCARLAT Marius

Redactarea paragrafelor 3, 2.4

TOFAN Maria Bianca

Redactarea paragrafelor 1.2.3, 2.3

Cuprins
1

Interpolarea polinomiala a functiilor reale.................................................................................. 4


1.1

Scopul lucrarii ........................................................................................................................ 4

1.2

Chestiuni studiate .................................................................................................................. 4

1.2.1

Interpolarea polinomiala Uniforma/Cebisev ................................................................ 5

1.2.2

Analiza algoritmilor-erori.............................................................................................. 7

1.2.3

Analiza algoritmilor- timpi de calcul ........................................................................... 8

Studiu individual ........................................................................................................................ 10


2.1

Interpolarea Newton Matlab ............................................................................................ 10

2.2

Exercitiu Interpolare ............................................................................................................ 11

2.3

Fenomenul Runge ................................................................................................................ 12

2.4

Exercitiu Interpolare ............................................................................................................ 15

Observatii si concluzii ................................................................................................................ 16

Bibliografie ................................................................................................................................. 20

Interpolarea polinomiala a functiilor reale

1.1 Scopul lucrarii


In lucrarea studiata Interpolarea polinomiala a functiilor reale se prezinta cele mai
eficiente metode de determinare a polinomului de interpolare. Interpolarea reprezinta
aproximarea functiilor in alte puncte decat in cele in care ne sunt cunoscute valorile functiei. In
analiza numerica, interpolarea polinomiala este o tehnica de interpolare a unui set de date sau a
unei functii printr-un polinom. Cu alte cuvinte, fiind dat un set de puncte (obinut, de exemplu,
ca urmare a unui experiment), vom cauta un polinom care trece prin toate aceste puncte.
Functiile reale se pot reprezenta in sisteme de calcul, prin doua metode principale si diferite:
Prin cod, cu ajutorul algoritmului care permite evaluarea functiei in orice punct al
domeniului de definitie.
Prin date, cu ajutorul unei retea de puncte, din domeniul de definitie, numite noduri.
Se presupune aproximarea functiei, in intervalele dintre nodurile retelei, in orice
punct al domeniului de definite. Una din cea mai simpla metoda de interpolare,
consta in aproximarea functiei cu un polinom, evaluarea functiei reducandu-se la
operatii simple ca adunarea si inmultirea.
Exista trei metode cunoscute pentru determinarea polinomului de interpolare:
Metoda Clasica:
-determinarea coeficientilor polinomului de interpolare prin rezolvarea unui sistem liniar
de ecuatii algebrice
-evaluarea polinomului interpolant, ordin n
Metoda Lagrange:
-timpul necesar evaluarii polinomului de interpolare creste la n2
Metoda Newton:
-algoritmul este relative stabil din punct de vedere numeric, avand erori acceptabile
rezultatelor.
Observatie: Metodele prezentate mai sus ( Clasica, Lagrange, Newton), sunt metode de
interpolare globala. Cele trei metode cauta un polinom de gran n, ce trece prin cele n+1
puncte ale tabelului de date.

1.2 Chestiuni studiate


1. Interpolarea polinomiala uniforma si Cebisev;
2. Analiza algoritmilor-erori;
3. Analiza algoritmilor- timpi de calcul .

1.2.1 Interpolarea polinomiala Uniforma/Cebisev


Functiile f(x) care pot fi interpolate sunt:
sin(x)
exp(x)
ln(|x|)
th(x)
Runge 1/(1 + x2)
|x|
||
Se va studia interpolarea polinomiala pentru functia exponentiala si Runge, aratandu-se modul de
variatie a celor doua tipuri de erorii ( Uniforma si Cebisev) , functie de numarul nodurilor de
interpolare ( de la 2 la 10).
Tabelul 1.1-Interpolare functia explonentiala
INTERPOLAREA POLINOMIALA PENTRU FUNCTIA EXPONENTIALA
Nr.
Noduri
Interpolar
e
Eroare
uniforma

10

2.13242
6
*10-1

2.71415
2
*10-2

3.04892
2
*10-3

3.03694
1
*10-4

2.67447
8
*10-5

2.16441
0
*10-6

1.56878
1
*10-7

1.00783
7
*10-8

6.03519
0
*10-10

Eroare
Cebisev

2.13242
6
*10-1

2.95753
9
*10-2

2.88732
5
*10-3

2.42827
9
*10-4

1.72612
4
*10-5

1.07123
5
*10-6

5.96839
1
*10-8

2.94224
1
*10-9

1.34527
5
*10-10

Observatii:
Odata cu cresterea numarului de noduri de interpolare ambele tipuri de erori scad,
ajungand la valori foarte mici.
In cazul functiei exponentiale eroarea uniforma este mai mica decat eroarea Cebisev.
Tabelul 1.2-Interpolare functia Runge
INTERPOLARE POLINOMIALA PENTRU FUNCTIA RUNGE
Nr. Noduri
Interpolare

10

15

20

Eroare uniforma

0.645294

0.696815

0.423108

1.783233

2.094101

50.00874

Eroare Cebisev

0.645294

0.818663

0.628641

0.12912

0.093708

0.017552

Figura 1.1- Efectul Runge pentru cele doua tipuri de erori.-Excel

Figura 1.1.1 Efectul Runge pentru cele doua tipuri de eroriMatlab Scara Logaritmica

Observatii:
In cazul interpolarii polinomiale pentru functia Runge, eroarea uniforma, creste
odata cu cresterea numarului de noduri.
In cazul interpolarii polinomiale pentru functia Runge, eroarea Cebisev, scade
odata cu cresterea numarului de noduri
Apar oscilatii foarte mari intre nodurile retelei de discretizare (cand n creste) si
avem o instabilitate numerica, atunci cand reteaua este uniforma rezultand un pas
constant.

1.2.2 Analiza algoritmilor-erori


Se determina eroarea de interpolare a functiei sin(x) pe o perioada, in cazul
folosirii metodelor de interpolare: clasica, Lagrange, Newton. Se vor introduce valoarea
initiala, valoarea finala, si pasul pentru gradul polinomului de interpolare. Valorile recomandate pentru gradul polinomului sunt 1,2,3,4,5,6,7,8 (valoarea initiala 1, valoarea finala
8, pas 1).
Se vor nota erorile si se vor comenta rezultatele. Se va reprezenta grafic eroarea in
functie de gradul polinomului de interpolare.

Tabelul 1.3- Eroare metoda Newton


EROARE METODA NEWTON

N
Eroare
metoda
Newton

0.999486

0.999486

0.254525

0.175797

0.026755

0.018735

0.001695

0.001201

1.2

Metoda Newton

0.8

0.6
N
0.4

0.2

0
0

Numar Noduri

Figura 1.2- Metoda Newton


Observatii:
In cazul celorlalte doua metode ( Clasica si Lagrange) valorile sunt identice,
asadar, in tabel s-au intordus valori doar pentru o metoda ( Metoda Newton).
Se observa scaderea valorii erorii odata cu cresterea valorii lui n.
Algoritmul este relativ stabil din punct de vedere numeric, avand erori numerice
acceptabile ale rezultatelor;
Prin marirea succesiva a gradului polinomului de interpolare pana la atingerea
preciziei dorite, timpul de calcul este dependent de eroarea impusa, avand valori
mari doar in cazurile in care se doreste o precizie ridicata;

1.2.3 Analiza algoritmilor- Timpi de calcul


Se determina timpul de calcul necesar interpolarii functiei sin(x) pe o perioada, in cazul folosirii
metodelor de interpolare: clasica, Lagrange, Newton. Singura data de intrare este numarul de
noduri n din reteaua de interpolare.
Se va reprezenta grafic modul de varitie a timpului de calcul cu pregatire a celor trei medote
pentru n variind de la 20 la 100, cu pas 20.

Tabelul 1.4- Timpi de calcul pentru cele trei metode


TIMPI DE CALCUL
Grad
Polinom
Lagrange
Newton
Clasica

Timp

20

40

60

80

100

Pregatire
Evaluare
Pregatire
Evaluare
Pregatire
Evaluare

0.0936006
0
0
0.0156001
0

0.265202
0
0.0156001
0.0780005
0

0.608404
0.0312002
0.0156001
0.234001
0

1.10761
0.0156001
0.0156001
0.499203
0.0156001

1.70041
0.0312002
0
1.01401
0.0156001

1.2

0.8

0.6

Newton
Clasica

0.4

0.2

0
0

20

40

60

80

100

-0.2

Figura 1.3- Timpi de calcul


Observatii:

Metoda Lagrange nu are timp de pregatire;


Pentru functia Lagrange se afiseaza doar timpul de evaluare;
Timp de pregatire: la metoda clasica avem o hiperbola (n3);
Timpul de calcul pentru metoda clasica creste foarte mult odata cu n;
La metoda Newton avem o parabola (n2).

120

2 Studiu individual

2.1 Interpolarea Newton Matlab

function yk = interpl_Newton(x,y,xk)

n = length(y);
if length(x)~=n,
error('x si y au lungimi diferite');
end
d = y(:);
for j=2:n
for i=n:-1:j
d(i) = (d(i)-d(i-1))/(x(i)-x(i-j+1));
end
end
yk = d(n);
for i=n-1:-1:1
yk = yk.*(xk-x(i)) + f(i);
end
Neagu Cristian[2]

2.2 Exercitiu Interpolare


Fie functia f(x)=y definita tabelar:
x
2
4
5
y

Se cer:
a) Care este gradul polinomului de interpolare globala?
R: Pentru exemplul dat, functia y = f(x) are valori date in 3 noduri si in consecinta gradul
polinomului de interpolare este n = 2.
b) Care sunt conditiile de interpolare?
R: g(2)=1 , g(4)=3, g(5)=2;
c) Care este sistemul de ecuatii asamblat in metoda clasica de interpolare?
R: g(x)=c0+c1 x+c2 x2
c0+2c1+4c2=1
c0+4c1+16c2=3
c0+5c1+25c2=3
d) Care sunt polinoamele Lagrange asociate diviziunii [2 4 5] ?
R: lk(x)= 2=0

l0(x)=
l1(x)=
l2(x)=

(1)(2)

;
(4)(5) 2 9+20

(01)(02)
(0)(2)

(24)(25)

(2)(5) 27+10

(10)(12) (42)(45)
(0)(1)

(2)(4) 26+8

(20)(21) (52)(54)

e) Care este polinomul de interpolare Lagrange?


R: g(x)= =0 ()
g(x) =y0 l0(x)+y1l1(x)+y2l2(x)
2 9+20

2 7+10

g(x)= 1*

+3*

26+8 4 2 +3038

+2*

f) Care este tabelul de diferente divizate?


R: f[x0,x1]=
f[x1,x2]=

10 31

10 42

21 23

21 54

f[x0,x1 ,x2 ]=

=1

=-1

[1,2][0,1]

20

52

2
3

g) Care este polinomul de interpolare Newton?

R: g(x)= y0+f[x0,x1](x-x0)+f[x0,x1,x2](x-x0)(x-x1)
2

1+1*(x-2)+(- )*(x-2)(x-4) -2x2+15x-19=0


3

Rosu Laura

2.3 Fenomenul Runge


n analiz numeric, fenomenul Runge este o problema de oscilaie la marginile de un interval
care se produce la utilizarea polinomului de interpolare cu un grad ridicat. Acesta a fost
descoperit de ctre Carl David Tolm Runge atunci cnd explorarea comportamentul de erori
atunci cnd se utilizeaz polinomului de interpolare a aproximative anumite funcii. n
examinarea acestui aspect, matematicianulDavid Carle Runge Tolm a descoperit un rezultat
contrar intuiie: exist configuraii n care diferena maxim ntre funcia de interpolare i
converge spre infinit odat cu n .

Curba roie este funcia Runge, curba albastr este polinom de interpolare de gradul 5 i curba verde este
polinom de interpolare de grad 9. Aproximarea este din ce n ce slab

Introducere
Teorema de aproximare a lui Weierstrass prevede c fiecare funcie continu f (x) definit pe un
interval [a, b ] poate fi aproximat ca limita unui ir uniform convergent de polinoame de
interpolare:

Interpolarea cu puncte echidistante este o abordare natural i bine-cunoscut pentru a construi


polinoame aproximare. Fenomenul Runge demonstreaz, totui, c aceast interpolare poate
diverge.
Exemplu
Considerm urmtoarea funcie:

Avnd n vedere

puncte uniform distribuite n segmentul

n cele din urm, considerm polinomul de interpolare


unic
.

n punctele

, care este polinomul

pentru orice i. Se noteaz cu

de grad mai mic sau egal cu n astfel nct

Runge a artat c eroarea de interpolare ntre

tinde la infinit ca n crete. Formal:

De fapt, atunci cnd creterea numrului de puncte, vom vedea c polinomul ncepe s oscileze
puternic ntre punctele de
cu amplitudinea n cretere.

Explicatie
Aplicnd n mod repetat teorema lui Rolle, putem arta c n cazul interpolrii
celor
puncte distribuite n mod egal, exist un punct n intervalul
eroarea dintre funcia generatoare i polinomul de interpolare de grad n este dat de

pentru

ntre (1, 1).

nct

Astfel,

Rezult c eroarea de aproximare crete la infinit odat cu n.


ntr-un context mai larg, polinomul de interpolare cu noduri echidistante nu este o metod
stabil. ntr-adevr, notnd (li) , polinoamele Lagrange de baz corespunztoare elementelor (xi):

avem:

care ne conduce la urmtoarea estimare:

Constanta
este numit constanta Lebesgue asociat punctelor
(xi)'. n caz de puncte echidistante, aceast constant poate fi estimat prin:

unde e este numrul lui Euler n valoare de 2.7183 ... . Vedem c, n acest caz, constanta
Lebesgue tinde rapid la valori mari, mai repede dect poate converge la funcia polinomial de
interpolare f.
Solutii la fenomenul Runge
Fenomenul Runge demonstreaz c interpolarea polinomial nu este cea mai bun metod de
interpolare a funciilor.
Putem minimiza oscilaiile de polinoame de interpolare folosind polinomul Cebev de
interpolare n loc de puncte distribuite n mod egal pentru a interpola. n acest caz, putem arta
c eroarea de interpolare

descrete.

O metod este utilizarea de noduri care sunt distribuite mult mai dens spre marginile
intervalului.
O alt metod este metoda celor mai mici ptrate.

O alt metod foarte des ntlnit este aproximarea cu funcii spline (acestea sunt polinoame pe
poriuni; n acest caz, pentru a mbunti aproximarea, vom crete numrul de buci i nu
gradul de polinoame).
Barbieru Raluca si Tofan Bianca [3]

2.4 Exercitiu Interpolare


Fie functia f(x)=y definita tabelar:
x
1
3
5
y

Se cer:
h) Care este gradul polinomului de interpolare globala?
R: Pentru exemplul dat, functia y = f(x) are valori date in 3 noduri si in consecinta gradul
polinomului de interpolare este n = 2.
i) Care sunt conditiile de interpolare?
R: g(1)=4 , g(3)=1, g(5)=3;
j) Care este sistemul de ecuatii asamblat in metoda clasica de interpolare?
R: g(x)=c0+c1 x+c2 x2
c0+c1+c2=1
c0+3c1+9c2=3
c0+5c1+25c2=2
k) Care sunt polinoamele Lagrange asociate diviziunii [1 3 5] ?

R: lk(x)= 2=0

l0(x)=
l1(x)=
l2(x)=

(1)(2)

(01)(02)
(0)(2)

(3)(5) 2 8+15
(13)(13)

(1)(5) 26+5

(10)(12) (31)(35)
(0)(1)

(1)(3) 24+3

(20)(21) (51)(53)

l) Care este polinomul de interpolare Lagrange?


R: g(x)= =0 ()
g(x) =y0 l0(x)+y1l1(x)+y2l2(x)
2 8+15

g(x)= 4*

26+5

+1*

24+3 9 2 78+119

+3*

m) Care este tabelul de diferente divizate?


R: f[x0,x1]=
f[x1,x2]=

10 14

10 31

21 31

21 53

f[x0,x1 ,x2 ]=

=-3/2

=1

[1,2][0,1] 5/2 5
20

51

n) Care este polinomul de interpolare Newton?

R: g(x)= y0+f[x0,x1](x-x0)+f[x0,x1,x2](x-x0)(x-x1)
5

4-3/2*(x-1)+(- )*(x-1)(x-3) 5x2+4x+7=0


8

Scarlat Marius Vasile

3 Observatii si concluzii
METODA CLASICA
Dezavantaje:
etapa de pregatire : O(2n3/3), timpul necesar determinarii coeficientilor ck este foarte
mare pentru valori mari ale lui n;
pentru valori mari ale lui n,functiile de baza sunr asemanatoare intre ele, matricea
coeficientilor sistemului fiind slab conditionata;
apar erori mari de rotunjire;

METODA LAGRANGE
Avantaje:
erori de rotunjire minime;
matrice bine structurata;
stabilitate numerica buna;
Dezavantaje:
timpul de avaluare creste cu un ordin de marime;
METODA NEWTON
Avantaje:
termenii succesivi ai polinomului interpolarii Newton aproximeaza termini
corespunzatori din dezvoltarea in serie Taylor se poate controla eroarea de
trunchiere,efortul de calcul putand fi adaptat preciziei impuse solutiei;
atunci cand se adauga un punct suplimentar in reteaua de interpolare se poate porni de la
interpolarea cu un grad mai scazut si trebuie doar adaugat un singur termen in suma ,
nefiind necesara refacerea totala a calculelor ci doar evaluarea unui singur termen
suplimentar;

Concluzii:
Metodele clasica, Lagrange si Newton dau teoretic acelasi rezultat pentru ca polinomul de
interpolare este unic.
Metoda Newton este cea mai eficienta metoda din punct de vedere al timpului de pregatire cat si
a celui de evaluare.
Avantajul major este insa acela ca metoda Newton permite controlul erorii de trunchiere.
- La functia Runge apar oscilatii foarte mari intre nodurile retelei de discretizare (cand n
creste) si avem o instabilitate numerica, atunci cand reteaua este uniforma rezultand un
pas constant.
Analiza experimentala a erorilor de interpolare
- Eroarea scade, in timp ce n creste
Analiza experimentala a timpului de calcul
- Pentru functia Lagrange se afiseaza doar timpul de evaluare
- Timp de pregatire: la metoda clasica avem o hiperbola (n3); timpul de calcul pentru
metoda clasica creste foarte mult odata cu n; la metoda Newton avem o parabola (n 2)
- Timp fara pregatire: la metoda Lagrange avem o parabola (n2), iar timpul de evaluare
creste foarte mult; la metodele Clasica, respectiv Newton avem o dreapta (n

Problema Rezolvata:
Fie functia f(x)=y definita tabelar:
x
2
3
5
y

11

Se cer:
a) Care este gradul polinomului de interpolare globala?
R: Pentru exemplul dat, functia y = f(x) are valori date in 3 noduri si in consecinta gradul
polinomului de interpolare este n = 2.
b) Care sunt conditiile de interpolare?
R: g(2)=5 , g(3)=7, g(5)=11;
c) Care este sistemul de ecuatii asamblat in metoda clasica de interpolare?
R: g(x)=c0+c1 x+c2 x2
c0+2c1+4c2=5
c0+3c1+9c2=7
c0+5c1+25c2=11
d) Care sunt polinoamele Lagrange asociate diviziunii [2 3 5] ?

R: lk(x)= 2=0

l0(x)=
l1(x)=
l2(x)=

(1)(2)

(01)(02)
(0)(2)

(3)(5) 2 8+15
(23)(25)

(2)(5) 27+10

(10)(12) (32)(25)
(0)(1)

(2)(3) 25+6

(20)(21) (52)(53)

e) Care este polinomul de interpolare Lagrange?


R: g(x)= =0 ()
g(x) =y0 l0(x)+y1l1(x)+y2l2(x)

2 8+15

g(x)= 5*

27+10

+7*

2 5+6

+11*

=2 + 1

f) Care este tabelul de diferente divizate?


R: f[x0,x1]=
f[x1,x2]=

10 75

10 32

=2

21 117
21

f[x0,x1 ,x2 ]=

53

=2

[1,2][0,1] 22
20

52

=0

g) Care este polinomul de interpolare Newton?

R: g(x)= y0+f[x0,x1](x-x0)+f[x0,x1,x2](x-x0)(x-x1)
5+2*(x-2)+0*(x-2)(x-3) 2z+1=0
h) In punctual x=4, polinomul de interpolare este
g(4)=2*4+1=9
i) In situatia in care tabelului de valori i se adauga un punct, metoda Newton este cea mai
avantajoasa metoda deoarece aceasta permite refolosirea calculelor deja efectuate.
Tabelul de diferente divizate se completeaza cu noua valoare astfel:
X
2
3
5
1

Y
5
7
11
0

ord.1
2
2
11/4

ord.2
o

ord.3
3/8

-3/8

Diferentele divizate care apar prin adaugarea punctului (1, 0) sunt:


f[x2,x3}=11/4
f[x1,x2,x3]=-3/8
f[x0,x1,x2,x3]=3/8
Polinomul de interpolare este:
h(x)=3/8*x^3-15/4*x^2+109/8*x-41/4
Se observa ca nu este nevoie ca punctele diviziunii sa fie sortate. De asemenea, in cazul aplicarii
metodei clasice sau Lagrange, efortul de calcul efectuat anterior s-ar fi pierdut.

STIATI CA?!
Fiind considerat cel mai mare matematician al sec al XVIIIlea, Napoleon l-a supranumit pirmamida grandioasa a stiintelor
matematice pe Joseph-Louis Lagrange ?
In analiza matematica Lagrange a fost cel care a dat formula
restului pentru dezvoltari in serie Taylor,formula cresterilor finite si

forma de interpolare?
Newton a fost primul care a demonstrat ca legile naturii guverneaza atat miscarea
globului terestru, cat si a altor corpuri ceresti, intuind ca orbitele pot fi nu numai
eliptice,dar si hiperbolice sau parabolice?
Isaac Newton a fost savantul aflat la originea teoriilor stiintifice care vor revolutiona
stiinta, in domeniul opticii,matematicii si in special mecanicii?

4 Bibliografie
[1] Gabriela Ciuprina, Mihai Rebican, Daniel Ioan: Metode Numerice n Ingineria Electric.
ndrumar de laborator, Editua Printech, 2013, disponibil la
http://mn.lmn.pub.ro/indrumar/indrumarLMN2013_20sept2013.pdf.
[2] Aproximarea numerica a functiilor in Matlab
http://www.rasfoiesc.com/educatie/informatica/matlab/Aproximarea-numerica-a-functii45.php
[3] http://ro.wikipedia.org/wiki/Fenomenul_Runge#cite_note-1

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