- •Вычислительная математика лабораторный практикум
- •Содержание
- •Метод исключения Гаусса
- •Введение
- •Построение алгоритма исключения Гаусса
- •3. Реализация алгоритма Гаусса в Excel
- •4. Реализация алгоритма Гаусса в пакете Mathcad
- •5. Реализация алгоритма Гаусса на языке Turbo Pascal
- •6. Вычисление определителя и обратной матрицы
- •7. Выбор ведущего элемента
- •8. Числа обусловленности
- •9. Задания для самостоятельной работы
- •Контрольные вопросы
- •1.Введение
- •Метод Якоби для решения слау
- •Метод Зейделя для решения слау
- •Задания для самостоятельной работы
- •5. Контрольные вопросы
- •Численные методы решения нелинейных уравнений
- •1. Введение
- •2. Отделение корней уравнения
- •3. Метод дихотомии для решения нелинейных уравнений
- •4. Метод Ньютона для решения нелинейных уравнений
- •5. Задания для самостоятельной работы
- •6. Контрольные вопросы
- •Полиномиальная интерполяция
- •1. Интерполяция данных каноническим полиномом
- •2. Интерполяционный полином Ньютона
- •3. Интерполяционный полином Лагранжа
- •4. Задания для самостоятельной работы
- •Контрольные вопросы
- •Метод наименьших квадратов
- •1. Введение
- •2. Линейная аппроксимация
- •3. Аппроксимация нелинейными функциями
- •4. Аппроксимация полиномом
- •Задания для самостоятельной работы
- •6. Контрольные вопросы
- •1. Введение
- •2. Постановка задачи
- •3. Численное дифференцирование с заданной точностью
- •Модификация алгоритма численного дифференцирования Использование центральной разности (6.3) для приближения производной позволяет проводить вычисления с точность порядка :
- •Результаты вычислений сведем в таблицу:
- •5. Действия над приближенными числами
- •6. Задания для самостоятельной работы
- •Контрольные вопросы
- •1. Введение
- •2. Метод прямоугольников
- •3. Метод трапеций
- •4. Метод парабол
- •5. Вычисление интегралов с заданной точностью
- •Метод Гаусса
- •7. Задания для самостоятельной работы
- •2. Провести расчеты знакомого уже нам интеграла ошибок
- •8. Контрольные вопросы
- •Список литературы
- •Учебное издание
2. Интерполяционный полином Ньютона
Построим интерполяционный полином степени в виде:
(4.4)
Коэффициенты полинома определим из условия Лагранжа:
(4.5)
При все слагаемые, кроме , обращаются в нуль, следовательно .
Полагая , из условия (4.5), получим , откуда находим коэффициент . Он называется разделенной разностью первого порядка. Величина близка к первой производной функции при малом расстоянии между узлами и .
При из условия Лагранжа (4.5), определим искомый коэффициент , где . Величина называется разделенной разностью второго порядка, которая близка ко второй производной.
Аналогично, при находим , где ; .
Полученные результаты можно свести в следующую таблицу
|
|
1 |
2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
… |
… |
… |
… |
… |
Реализацию интерполяции методом Ньютона можно провести в Excel.
Вычислим в точке значение функции , заданной таблично
-
Х
5
5.5
6
6.5
7
Y
51
76.625
109
148.875
197
используя первый и второй интерполяционные полиномы Ньютона.
Дальнейшие вычисления приведем в таблице 5.1.
Таблица 5.1. Вспомогательная таблица для интерполирования значений сеточной функции полиномом Ньютона
-
i
xi
yi
∆yi
∆2yi
∆3yi
∆4yi
0
5
51
25,625
6,75
0,75
0
1
5,5
76,625
32,375
7,5
0,75
2
6
109
39,875
8,25
3
6,5
148,875
48,125
4
7
197
где . Иными словами, каждая последующая конечная разность получается путем вычитания в предыдущей колонке верхней строки из нижней.
Используя первый интерполяционный многочлен Ньютона третьего порядка для интерполирования вперед:
, где
получим .
Используя второй интерполяционный многочлен Ньютона третьего порядка для интерполирования назад:
, где
получим .
Таким образом, значение функции в точке равно 91,922.
В пакете MathCad реализация первого и второго интерполяционного многочлена Ньютона будет выглядеть следующим образом.
Заметим, что для построения итерационного полинома используются только диагональные элементы таблицы, остальные элементы являются промежуточными данными. Для хранения разделенных разностей будем использовать один и тот же массив. На языке Turbo Pascal процесс вычисления можно организовать так:
for j:=1 to n do
begin
a:=y[j-1]; b:=x[j-1];
for i:=j to n do y[i]:=(a-y[i-1])/(b-x[i-1])
end;
Значения полинома при конкретных разумно вычислять по схеме Горнера:
(4.6)
Причем сразу можно получать значения для первой и второй производных. Действительно, дважды дифференцируя рекуррентное соотношение Горнера , получим:
;
Запишем фрагмент программы, сделав замену на и на :
p:=y[n]; p1:=0; p2:=0;
for i:=n-1 downto 0 do
begin
s:=z-x[i]; p2:=2*p1+s+p2; p1:=p+s+p1; p:=y[i]+s*p
end;
Заметим, что при интерполяции полиномом Ньютона, задачи вычисления коэффициентов и полинома разделены, и их можно оформить в виде двух различных процедур.