Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Meseria se fura, ingineria se invata.Telecomunicatii, comunicatiile la distanta, Retele de, telefonie, VOIP, TV, satelit




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Matematica


Index » educatie » Matematica
» Polinomul de interpolare - Lagrange


Polinomul de interpolare - Lagrange


Polinomul de interpolare - Lagrange


Polinomul de interpolare LAGRANGE


Una dintre cele mai cunoscute formule de interpolare este construita de Lagrange subforma unui polinom de interpolare.

Sa presupunem ca in intervalul [a,b] sunt specificate n valori ale argumentului x1, x2, . . . ,xn, si valorile corespunzatoare ale unei functii f(x)

f(xi)=yi, i=1,2,.,n

Se cere construirea unui polinom Lm(x) care ia in punctele specificate xi aceleasi valori ca si functia f(x)

Lm(xi)=yi, i=1,2,.,n (1)



(1)

Pentru aceasta sa construim mai intai un polinom pi(x) pentru care

(2)

Deoarece polinomul cautat, pi(x), se anuleaza in cele (n-1) puncte x1, ., xi-1, xi+1, ., xn, el are expresia

unde Ci este un coefficient constant, iar

Luind x=xi si avand in vedere ca pi(xi)=1 obtinem . Cu acestea, gasimpentru polinomul pi(x) care satisface conditiile (2).

 (3)



Revenind acum la problema initiala a construirii polinomului Lm(x) care satisface conditiile (1), acesta poate fi scris sub forma

 (4)



Intr-adevar, deoarece polinoamele pi(x), sunt de ordinul (n-1), si Lm(x) este de ordinul (n-1) si satisface conditiile (1)

Inlocuind expresia (3) a polinoamelor pi(x) in (4) rezulta formula de interpolare a lui Lagrange


Vom crea o fucntie numita Lagrange cu cinci parametri :

ni - numarul de punctelor de interpolare

xi si yi - tablouri care contin coordonatele punctelor de interpolare

x - argumentul pentru care se calculeaza valoarea polinomului Lagrange de interpolare

y - valoarea de iesire a functiei


Programul urmator prezinta implementarea in C++ a polinomului Lagrange intr-un punctdat x.


#include<iostream.h>

float xi[20], yi[20], x, y;

int ni;

float lagrange(float xi[], float yi[], int ni, float x)


return y;


void main(void)


cout<<' Vector y = '<<endl;

for(i=1;i<=ni;i++)


cout<<'Dati valoarea punctului pt. care se calculeaza polinomul =';

cin>>x;

y=lagrange(xi,yi,ni,x);

cout<<'Valoarea pentru '<<x<<' este '<<y<<endl;



Executia programului :

n=4

vector x =

vector y =

valoarea punctului pt. care se calculeaza polinomul = 3

Valoarea pentru 3 este 17.22221







Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate