Sunteți pe pagina 1din 4

Ministerul Educaiei al Republicii Moldova

UNIVERSITATEA TEHNIC A MOLDOVEI


Facultatea Calculatoare, Informatic i Microelectronic
CATEDRA CALCULATOARE

LA METODE NUMERICE
LUCRAREA DE LABORATOR Nr.3

TEMA:
Polinomul de interpolare Lagrange
A efectuat:

st. gr. C-112


Muntean Serghei

A verificat:

lector superior
E.Tutunaru

Chiinu 2012

Scopul lucrrii:
Pentru funcia f:[a,b] R se cunosc valorile y1=f(xi), i=0,1,...,n n punctele
distincte a=x0,x1,,xn=b .
1) S se construiasc polinomul de interpolare Lagrange Ln(x) ce
aproximeaz funcia dat.
2) S se calculeze valoarea funciei f(x) ntr-un punct x= utiliznd polinomul
de interpolare Lagrange Ln(x).
3) S se aproximeze valoarea funciei f(x) pentru x= cu eroarea =0,0001
(sau cu cea mai bun exactitate posibil), calculnd polinomul de
interpolare Lagrange Ln(x) pentru m<n.
4) S se compare i s se explice rezultatele obinute.

Coninutul lucrrii:
x
1,345
1,379
1,405
1,562
1,675
1,854
y
1,2648 1,1216 1,2689 1,2567 1,2456 1,2434
Punctul x= este: a) 1,3625 b) 1,7520 c) 1,8800 d) 1,9505

Listingul programului:

1,987
1,4537

#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
double PolinLagrange(float num, float A[], float B[], float x1)
{
float pit=0,n=1;
for(int i=0;i<num;i++)
{
n=1;
for(int j=0;j<num;j++)
if(j!=i) n*=(x1-A[j])/(A[i]-A[j]);
pit+=B[i]*n;
}
return pit;
}
void main(void)
{
clrscr();
float a[10],b[10],x1;
int m;
cout<<"Culegeti numarul nodurilor de interpolare
m=";cin>>m;
2

cout<<"Introduceti abscisele nodurilor:\n";


for(int i=0;i<m;i++) cin>>b[i];
cout<<"Introduceti valorile functiilor:\n";
for(i=0;i<m;i++) cin>>a[i];
for(i=0;i<4;i++)
{
cout<<"\nIntroduceti abscisa punctului in care se va
efectua interpolarea x1=";cin>>x1;
cout<<"Valoarea functiei interpolate in punctul cu abscisa
x1="<<setprecision(5)<<x1;
cout<<"\neste egala cu "<<PolinLagrange(m,b,a,x1);
cout<<endl;
getch();
}
}

Rezultatele execuiei:

Concluzii:
n urma efecturii lucrrii date de laborator am obinut experien
n domeniul interpolrii funciilor i de aceea putem afirma c interpolarea
numeric i-a gsit o larg utilizare nu numai n problemele n care se cere a
calcula valorile funciei n puncte diferite de nodurile de interpolare. n multe
aplicaii, mai ales n cele legate cu msurrile, este necesar a verifica
exactitatea tabelului obinut. Acest problem se poate de rezolvat cu
ajutorul interpolrii, calculnd diferenele finite de diferit ordin i efectund o
analiz a comportrii lor.