Done
This commit is contained in:
@@ -43,7 +43,7 @@ public:
|
||||
|
||||
void oblicz()
|
||||
{
|
||||
bool rowne_odstepy = true;
|
||||
rowne_odstepy = true;
|
||||
float pierwszy_odstep = x[1] - x[0];
|
||||
|
||||
// Sprawdzenie czy odstępy x są takie same
|
||||
@@ -87,39 +87,41 @@ public:
|
||||
else
|
||||
{
|
||||
// Lagrange
|
||||
suma = 0.0;
|
||||
suma = 0;
|
||||
for (int i = 0; i < liczba_wezlow; i++)
|
||||
{
|
||||
double iloczyn = tablica_roznic[i][0];
|
||||
float L = 1;
|
||||
for (int j = 0; j < liczba_wezlow; j++)
|
||||
{
|
||||
if (i != j)
|
||||
{
|
||||
iloczyn *= (x[j] - x[0]) / (x[i] - x[j]);
|
||||
L *= (x[j] - x[0]) / (x[j] - x[i]);
|
||||
}
|
||||
}
|
||||
suma += iloczyn;
|
||||
suma += L * y[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void wyswietl_tabela()
|
||||
{
|
||||
// nagłowki
|
||||
cout << setw(5) << "i" << setw(10) << "x" << setw(10) << "y";
|
||||
for (int j = 1; j < liczba_wezlow; ++j)
|
||||
cout << setw(10) << "Δ^" + to_string(j);
|
||||
cout << endl;
|
||||
|
||||
// wartości
|
||||
for (int i = 0; i < liczba_wezlow; i++)
|
||||
{
|
||||
cout << setw(5) << i << setw(10) << x[i];
|
||||
for (int j = 0; j < liczba_wezlow - i; j++)
|
||||
{
|
||||
cout << setw(10) << tablica_roznic[i][j];
|
||||
}
|
||||
if(rowne_odstepy) {
|
||||
// nagłowki
|
||||
cout << setw(5) << "i" << setw(10) << "x" << setw(10) << "y";
|
||||
for (int j = 1; j < liczba_wezlow; ++j)
|
||||
cout << setw(10) << "Δ^" + to_string(j);
|
||||
cout << endl;
|
||||
|
||||
// wartości
|
||||
for (int i = 0; i < liczba_wezlow; i++)
|
||||
{
|
||||
cout << setw(5) << i << setw(10) << x[i];
|
||||
for (int j = 0; j < liczba_wezlow - i; j++)
|
||||
{
|
||||
cout << setw(10) << tablica_roznic[i][j];
|
||||
}
|
||||
cout << endl;
|
||||
}
|
||||
}
|
||||
|
||||
cout << "Interpolowany wynik: " << suma << endl;
|
||||
@@ -128,6 +130,7 @@ public:
|
||||
private:
|
||||
float a, b, h, suma, czynnik;
|
||||
int liczba_wezlow;
|
||||
bool rowne_odstepy;
|
||||
vector<float> x, y;
|
||||
vector<vector<float> > tablica_roznic;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user