Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab_2 / prog

.cpp
Скачиваний:
29
Добавлен:
28.01.2022
Размер:
974 б
Скачать
#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;
}
Соседние файлы в папке lab_2