Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Putin ajutor, va rog, chiar nu am habar cum sa rezolv aceasta problema ! : Mai 22, 2018, 16:48:28
Deci, trebuie sa scriu in C++ un program, si anume Polinomul de Interpolare Lagrance cu noduri echidistante. Marea problema este ca acele noduri echidistante ma omoara.

Cod:
// C++ Interpolare Lagrange

#include<iostream>
using namespace std;


struct Data
{
int x, y;
};

// functia pentru a interpola punctele date cu formula lui lagrange
// xi - noul punct care trb. obtinut
// n - nr de puncte cunoscute
double interpolate(Data f[], int xi, int n)
{
double result = 0; // prima data e 0

for (int i = 0; i<n; i++)
{

double term = f[i].y;
for (int j = 0; j<n; j++)
{
if (j != i)
term = term * (xi - f[j].x) / double(f[i].x - f[j].x);
}


result += term;
}

return result;
}


int main()
{
// vector de 4 puncte cunoscute
Data f[] = { { 0,2 },{ 1,3 },{ 2,12 },{ 5,147 } };


cout << "Value of f(3) is : " << interpolate(f, 3, 5);

return 0;

}


Acesta este Polinomul de Interpolare Lagrange.
Ce ar trebui schimbat ca sa il transform in Polinomul de Interpolare Lagrange cu noduri echidistante? Nu inteleg nici matematic care este diferenta dintre cele 2, Polinomul de Interpolare Lagrange si Polinomul de Interpolare Lagrange cu noduri echidistante...
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines