interpolacja newtona

0

witam moglby ktos dopisac mi w programie interpolacje newttona bo za bardzo nie wiem jak to sie robi.

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
float tabx[15]={1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3,2.4};
float taby[15]={cos(1),cos(1.1),cos(1.2),cos(1.3),cos(1.4),cos(1.5),cos(1.6),cos(1.7),cos(1.8),cos(1.9),cos(2.0),cos(2.1),cos(2.2),cos(2.3),cos(2.4)};
float tab_x[15];
float q=1.0;
float w=0.02;

for(int i=0; i < 16 ;i++)
{
tab_x[i]=q;
q=q+w;
}
for(int i=0; i < 16 ;i++)
{
 cout << tab_x[i] << endl;
}
cout<<endl;

float a;
float b;
float y;

for(int i = 0 ; i <16 ; i++)
{
a=((taby[1]-taby[0])/(tabx[1]-tabx[0]));
b=(taby[0]-(((taby[1]-taby[0])/(tabx[1]-tabx[0]))*tabx[0]));
y=(a*tab_x[i])+b;
cout << "P" << i << ": " << y << endl;
}
cout<<endl;

for(int l=0;l<15;l++)
{
float x;
x=tab_x[l];
float px=0;
      for(int i=0;i<15;i++)
      {
      float ul=1.0;
            for(int j=0;j<15;j++)
            {
              if(i!=j) {ul=ul*((tabx[j]-x)/(tabx[j]-tabx[i]));}
            }
            px=px+taby[i]*ul;
      }
      cout<<tab_x[l]<<"          "<<px<<endl;
}

system("pause");
return 0;
}
1

Nie wiesz jak sie dopisuje nowy kod? To proste. Otwierasz jakiś edytor, może być nawet notatnik. Dopisujesz algorytm którego potrzebujesz. Kompilujesz zmodyfikowany kod i po problemie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1