Пусть … – интерполяционный многочлен, определяемый парами ( , ), ( , ), ( , ), … так, что 012 … = ( ). Интерполяционные многочлены возрастающих степеней получают последовательно следующим образом:
|
= |
|
|
1 |
|
( − 0 |
0) |
|
|
|
− |
||||||
01 |
|
|
− 1 |
1 |
||||
|
|
1 |
0 |
|
|
|||
12 |
= |
|
|
1 |
|
( − 1 |
1) |
|
|
|
|
|
|||||
2 |
− 1 |
|||||||
|
|
− 2 |
2 |
|||||
|
||||||||
|
= |
|
|
1 |
|
( − 0 |
01) |
|
|
|
− |
||||||
012 |
|
|
− 2 |
12 |
||||
|
|
2 |
0 |
|
|
|||
|
||||||||
|
= |
|
|
1 |
|
( − 0 |
012) |
|
|
|
− |
||||||
0123 |
|
|
− 3 |
123 |
||||
|
|
3 |
0 |
|
|
|||
Этот процесс можно закончить, когда у значений двух интерполяционных многочленов последовательных степеней совпадает требуемое количество знаков.
Постановка задачи.
В ходе работы студенты должны самостоятельно разработать программу на одном из языков программирования, обеспечивающую решение одного из вариантов, полученного от преподавателя. Используя интерполяционную схему Эйткена и/или интерполяционную формулу Ньютона, необходимо вычислить значение в точке x функции, заданной таблицей. Порядок выполнения работы следующий:
1.Составить подпрограмму-функцию для вычисления значения в заданной точке по формуле Ньютона INEWTON и/или схеме Эйткина AITKEN.
2.Составить головную программу, содержащую обращение к соответствующим подпрограммам и осуществляющую печать результатов (в
том числе и промежуточных вычислений) как на экран, так и в файл. Входные данные также считываются из файла.
6
3. Провести вычисления по программе. Построить график полученной функции (множество точек, соединённых последовательно), отметить искомую
точку.
Выполнение работы.
Интерполируем значения неизвестной функции ( ) по набору значний представленных в таб. 1.
Таблица 1 – Данный набор точек неизвестной функции ( )
Номер |
Значение |
Значение |
|
|
|
|
|
|
0 |
0.2376 |
-3.7117 |
|
|
|
1 |
0.7368 |
-0.7525 |
|
|
|
2 |
1.1448 |
0.2297 |
|
|
|
3 |
1.9872 |
0.0128 |
|
|
|
4 |
2.5392 |
-0.3824 |
|
|
|
5 |
2.7648 |
-0.3175 |
|
|
|
6 |
3.0616 |
0.1348 |
|
|
|
7 |
3.2088 |
0.5575 |
|
|
|
8 |
3.2784 |
0.8109 |
|
|
|
9 |
3.6904 |
3.1398 |
|
|
|
10 |
3.9368 |
5.3285 |
|
|
|
Требуется интерполировать значение функции в точке = 2.2248
Визуализируем данные значения на графике. График представлен на рис.
1.
Была написана программа для интерполяции функции многочленом Ньютона для неравноотстоящих узлов. Она принимает на вход следующие значения: n – количество известных точек, x – интерполируемая точка, xx,yy –
список известных точек, их абсциссы и ординаты соответственно. Программа выводит слагаемые многочлена и интерполированное значение функции в точке в стандартный поток вывода. Код программы представлен в приложении А.
7
Аппроксимированная при помощи данной программы функция представлена на графике на рис. 2. Слагаемые многочлены и значение функции в точке = 2.2248 представлен в таб. 2. Значение функции в точке = 2.2248
рассчитано: ( ) = −0.21331084
Таблица 2 – Значения слагаемых многочлена Ньютона
1 |
1.178E+01 |
2 |
-1.147E+01 |
3 |
3.193E+00 |
4 |
2.282E-05 |
5 |
1.844E-05 |
6 |
2.365E-05 |
7 |
3.343E-05 |
8 |
3.498E-05 |
9 |
1.565E-05 |
10 |
-9.280E-06 |
Рисунок 1 – Исходный набор точек функции
8
Рисунок 2 – Аппроксимированные по методу Ньютона значения на промежутке
Была написана программа для интерполяции функции по схеме Эйткена.
Она принимает на вход следующие значения: x – интерполируемая точка, xx,yy – список известных точек, их абсциссы и ординаты соответственно, a,b
–границы промежутка на данной итерации . Программа выводит интерполированное значение функции в точке в стандартный поток вывода.
Код программы представлен в приложении А.
Аппроксимированная при помощи данной программы функция представлена на графике на рис. 3. Значение функции в точке = 2.2248
рассчитано: ( ) = −0.21331721
Разница |
между |
найденными |
значениями |
|
( ) − ( ) = |
|
|
|
|
|
|
0,00000637065148667 т.е. совпали 5 знаков.
9
Рисунок 3 – Аппроксимированные по методу Эйткена значения на промежутке
Выводы.
Проанализировав результаты аппроксимации графиков по формуле Ньютона можно прийти к выводу, что данный метод удобен в использовании так как дает аппроксимационный многочлен, по которому в дальнейшем можно строить функцию на промежутке, а также позволяем добавлять или уменьшать количество слагаемых при получении новой информации о точках графика.
Метод Эйткена менее удобен в использовании так как при изменении набора точек либо потребности посчитать значение в новой точке требует проводить расчеты заново. Однако по получившимся интерполированным значениям функции в данной точке видим, что при расчете обеими методами для данной получаем значения совпадающие до 5-ти знаков после запятой, то есть дают достаточно хороший результат.
10