сновної програми
{
double arg [max] [max], x, L [max], E;
float h;
int n, k, flag;
cout <<"Quantity of entered values ​​N =";
cin>> n;// визначення кількості табличних значень функції
cout <<" n";
cout <<"Enter value of argument X =";
cin>> x;// введення значення "х"
cout <
h = 0.1;
flag = 0;
for (int i = 0; i
{
arg [i] [1] = i * h;// заповнення масиву табличних значень аргументу функції "x []"
cout <<"Enter values ​​of function Y" <
cin>> arg [i] [2];// заповнення масиву табличних значень функції "y []"
cout <<" n";
В
if (arg [i] [1] == x)// перевірка рівності введеного значення аргументу "х" свідо-
flag = i; чением з масиву табличних аргументів "х []"
В
}
cout <<"Enter quantity of knots of interpolation K =";
cin>> k;// визначення кількості вузлів інтерполяції
cout <<" n";
if (flag == 0)// якщо значення введеного аргументу "х" не дорівнює табличному значенню, то обчислюється поліном Лагранжа
{
for (int i = 1; i <= k; i + +)
L [i] = lagrange (i, x, arg);
В
E = fabs (L [k]-L [k-1]);// обчислення похибки
В
cout <В
for (int i = 0; i
cout <
cout <
cout <<"X =" <
}
else
{
cout <<"X =" <
}
getch ();
return 0;
}
В В
Результати інтерполяції заданої функції поліномом Лагранжа різного порядку зведені в таблицю 1. На малюнку 3 представлений графік вихідної функції. На малюнку 4 представлений графік функції, інтерпольованої поліномом Лагранжа різного порядку, в околиці точки х = 0.865. <В
Таблиця 1.
Х
n
L n (x)
E
0.865
2
1.572950
0.11
0.865
5
1.559700
7.7 * 10 -4
0.865
9
1.560260
3.6 * 10 -5
В
В
...