Добавил:
degenetard
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab_2 / prog
.cpp#include <iostream>
#include <cmath>
using namespace std;
double lgr(int n, double y[], double x[], double z) {
double r[4];
double b = 0;
for (int i = 0; i < n; i++) {
r[i] = y[i];
b = r[0];
}
for (int j = 0; j < (n - 1); j++) {
for (int i = (j + 1); i < n; i++) {
r[i] = ((z - x[j]) * r[i] - ((z - x[i]) * r[j])) / (x[i] - x[j]);
b = r[i];
}
}
return b;
}
int main() {
double y[] = { 0.827, 1.4005, 0.294, 2.016 };
double x[] = { 1.1, 1.15, 1.05, 1.2 };
double LL, d = 1, eps= 1E-3, z = 1.12, n = 2;
double L = lgr(1, y, x, z);
cout << "Степень " << "Pk(x) " << "Погрешность" << endl;
do {
if (n > sizeof(y)) break;
LL = L;
L = lgr(n, y, x, z);
d = abs(LL - L);
n++;
cout << " " << n - 2 << " " << L << " " << d << endl;
} while (d > eps);
cout << "За n - 2 (" << n - 2 << ") итераций получено значение " << L << " с точностью " << d << endl;
return 0;
}