- •Вычислительная математика лабораторный практикум
- •Содержание
- •Метод исключения Гаусса
- •Введение
- •Построение алгоритма исключения Гаусса
- •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. Контрольные вопросы
- •Список литературы
- •Учебное издание
3. Интерполяционный полином Лагранжа
Интерполяционный полином Лагранжа имеет вид:
(4.7)
Для вычисления значений этого полинома не требуется предварительного определения его коэффициентов путем решения систем уравнений. Однако для каждого значения аргумента полином приходится пересчитывать вновь, поэтому этот метод обычно используют только тогда, когда интерполяционная функция вычисляется в сравнительно небольшом количестве точек .
Составим алгоритм вычисления, записав полином (4.7) в виде
где
Тогда, если рекуррентная формула для вычисления полинома
, для при
то вычисление коэффициентов сводится к следующим выражениям
; ;…. , для
Если промежуточных значений запоминать не требуется, то алгоритм прост.
Вычислим в точке значение функции , заданной таблично
-
Х
5
5.5
6
6.5
7
Y
51
76.625
109
148.875
197
используя полином Лагранжа.
Дальнейшие вычисления приведем в таблице5.2.
Таблица 5.2. Вспомогательная таблица для интерполирования значений сеточной функции полиномом Лагранжа
i |
xi |
xi-x0 |
xi-x1 |
xi-x2 |
xi-x3 |
xi-x4 |
yi |
Di |
0 |
5 |
0,75 |
-0,5 |
-1 |
-1,5 |
-2 |
51 |
1,5 |
1 |
5,5 |
0,5 |
0,25 |
-0,5 |
-1 |
-1,5 |
76,625 |
-0,375 |
2 |
6 |
1 |
0,5 |
-0,25 |
-0,5 |
-1 |
109 |
0,25 |
3 |
6,5 |
1,5 |
1 |
0,5 |
-0,75 |
-0,5 |
148,875 |
-0,375 |
4 |
7 |
2 |
1,5 |
1 |
0,5 |
-1,25 |
197 |
1,5 |
где - произведение элементов i–й строки.
- произведение элементов главной диагонали.
Диагональные элементы получаем путем подставления х вместо . Например, для в ячейке xi-x0 получим .
Используя многочлен Лагранжа четвертой степени записанный в форме:
получим .
Представим реализацию интерполяции полиномом Лагранжа в пакете MathCad.
Составим фрагмент программы
p:=0;
for k:=0 to n do
begin b:=1;
for j:=0 to n do
if j <> k
then begin q:=x[k]-x[i]; s:= x-x[i]; b:= b*s/q; p=p+b*y[k] end
end;
и его нетрудно обобщить на случай вычисления первой и второй производных: