Mam mieć takie dane wejściowe. Niestety nie wiem jak uwzględnić przedział a,b. Proszę o pomoc
- liczba węzłów interpolacyjnych,
- a, b, t.ż, a < b,
- wartości funkcji f w punktach węzłowych.
Oczekiwane dane wyjściowe:
- wielomian Lagrange'a będący interpolacją zadanej funkcji w "równomiernie wyznaczonych" węzłach interpolacyjnych.
#include<iostream>
using namespace std;
int main()
{
double xtab[1000], ytab[1000], wyniki[1000];
cout<<"Podaj ile x i y"<<endl;
int ilosc;
cin>>ilosc;
cout<<"Podaj argument do obliczenia"<<endl;
int wartosc;
cin>>wartosc;
for(int i=0; i<ilosc; i++)
{
cout<<"wpisz x nr."<<i+1<<": ";
cin>>xtab[i];
cout<<"wpisz y nr."<<i+1<<": ";
cin>>ytab[i];
}
for(int i=0; i<ilosc; i++)
{
wyniki[i]=ytab[i];
for(int k=0; k<ilosc; k++)
{
if(xtab[i]!=xtab[k])
{
wyniki[i]*=(1.000*wartosc -xtab[k]);
}
}
for(int k=0; k<ilosc; k++)
{
if(xtab[i]!=xtab[k])
{
wyniki[i]/=(1.000*xtab[i] -xtab[k]);
}
}
}
double suma =0;
cout<<"---------------"<<endl<<"Wartosc wyrazenia to: ";
for(int i=0; i<ilosc; i++)
{
if(i!=0)
cout<<" + ";
suma+=(wyniki[i]*1.000);
cout<<wyniki[i];
}
cout<<" = "<<suma<<endl;
return 0;
}