Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Putin ajutor, va rog, chiar nu am habar cum sa rezolv aceasta problema !  (Citit de 1353 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
g0dafk
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« : 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...
« Ultima modificare: Mai 22, 2018, 17:10:49 de către Ionut Ionur » Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines