- •Иркутского государственного технического университета
- •2202 “Автоматизированные системы обработки информации и управления ”
- •Раздел 1 Погрешности вычислений
- •Причины возникновения погрешностей
- •Лабораторная работа 1
- •Вспомогательные материалы
- •5.1 Разработка программы в MathCad
- •Раздел 2 Численные методы решения систем линейных алгебраических уравнений
- •Решение систем линейных алгебраических уравнений методом Гаусса
- •Решение систем линейных алгебраических уравнений методом итераций
- •Лабораторная работа 2 Решение систем линейных алгебраических уравнений методом Гаусса
- •Вспомогательные материалы
- •Пример программы в MathCad
- •Лабораторная работа 3 Решение систем линейных алгебраических уравнений методом итераций
- •Раздел 3 Решение нелинейных уравнений
- •Итерационный метод решения нелинейных уравнений
- •Лабораторная работа 4 Решение нелинейных уравнений
- •Раздел 4
- •1. Первая интерполяционная формула Ньютона
- •3. Оценки погрешностей интерполяционных формул Ньютона
- •4. Интерполяционная формула Лагранжа
- •6 Обратное интерполирование
- •Блок-схема программы построения кубического сплайна и построения полинома Лагранжа представлены на рис. 4.3 и рис. 4.4
- •Лабораторная работа 5 Методы интерполирования функций
- •Раздел 5
- •Квадратурные формулы интерполяционного типа (формулы Ньютона - Котеса)
- •Формула прямоугольников
- •Формула трапеций
- •Формула Симпсона
- •Оценка погрешности квадратурных формул
- •Квадратурные формулы Гаусса
- •Блок-схемы решения задачи рассмотренными методами приведены на рис. 5.4 и 5.5.
- •Лабораторная работа 6 Методы численного интегрирования
- •Раздел 6 Численное решение обыкновенных дифференциальных уравнений
6 Обратное интерполирование
Задача обратного интерполирования: по заданному значению функции найти аргумент , при котором . Функция y=f(x) задана таблично.
Предположим, что на отрезке [a, b], содержащем узлы интерполяции, функция f(x) монотонна. Тогда существует однозначная обратная функция x=F(y). Она задана той же таблицей, что и y=f(x), только теперь аргументом будет значение , а -соответствующее значение функции.
В этом случае обратное интерполирование сводится к обычному интерполированию для функции x=F(y). Т.е. строится интерполяционный многочлен ( например, по формуле Лагранжа) – многочлен . При подстановке в значения - получаем .
Второй способ применим ко всякой функции f(x) ( не обязательно к монотонной). Не меняя ролями функцию и аргумент, записываем по какой – либо формуле интерполяционный многочлен . Неизвестное значение находим приближенно, решая уравнение . Если число узлов велико, то этот способ нахождения приводит к решению системы алгебраических уравнений высокого порядка.
7. Сплайн – интерполяция. (spline – рейка, планка)
Механические сплайны – гибкие деревянные рейки, закрепленные на концах. В узлах (точках) интерполяции подвешивают грузила. Сплайн принимает форму, минимизирующую его потенциальную энергию. Если сплайн представить функцией S(x) , то S и непрерывны на [ ].
Кубическая сплайн – функция, удовлетворяющая условиям называется естественным кубическим сплайном. С математической точки зрения кубическая сплайн – функция – единственная функция, обладающая свойством минимальной кривизны, среди всех функций, интерполирующих данные точки и имеющих квадратичную интегрируемую вторую производную.
Т.е. кубический сплайн есть самая гладкая из функций, интерполирующих заданные точки.
Пусть отрезок [a, b] разбит на n частей точками
Сплайном k-ой степени называется функция, представляющая собой многочлен не выше к-ой степени на каждом из последовательно примыкающих друг к другу интервалов причем в точках стыка двух интервалов функция непрерывна вместе со своими производными до порядка не выше к
Сплайн 1-ой степени – кусочно-линейная функция (непрерывная). Производная терпит разрыв в точках излома.
Задача интерполяции функции на отрезке [a, b] кубическим сплайном (сплайном 3-ей степени) состоит в нахождении функции S(x), равной многочлену третьей степени на каждом отрезке т.е. (19)
Значения сплайна в узлах интерполяции равны и сплайн-функция S(x) непрерывна в узлах интерполяции вместе с производными первого и второго порядков.
В сплайне (19) неизвестные . Интервал [a, b] разбит на n участков. Т. о. имеем 4n неизвестных: (i*p) = 4n.
Уравнения (20) – (23) дают 4n – 2 уравнения. Т.о. для определения величин необходимо ввести еще каких-либо 2 уравнения (ограничения). В качестве ограничений выбирается одна из 3-х пар краевых условий:
Построим сплайн, удовлетворяющий краевым условиям I типа.
Введем величины , называемые наклонами сплайна в узлах (i=0,1,..,n)
Интерполяционный кубический сплайн вида
(24)
где удовлетворяет условиям (20) – (23) для любых
Из условия (23) и краевых условий (I) можно определить параметры .
Действительно, легко проверить, подставляя в (24) и т.д., что
Беря вторые производные от S(x) по х и подставляя и , получаем
(25)
И краевых условий (I) и условий (25) получим систему из n+1 линейных уравнений относительно неизвестных
Из равенства получаем
(26)
В результате имеем:
(28)
Решая систему (28) методом Гаусса, получаем в результате прямого хода коэффициенты:
(29)
После обратного хода (обратной прогонки) получаем результат:
(30)
Результаты (29) и (30) позволяют построить кубический сплайн.
Построение сплайна с учетом краевых условий (II) производится аналогично.
Точность интерполяционной функции f(x), имеющей на отрезке [a, b] непрерывные производные до 3-его порядка включительно, кубическим сплайном S(x) по точкам равномерного разбиения отрезка с шагом h при любых краевых условиях (I – III), оценивается неравенством:
где (31)
Неравенство (31) дает завышенную оценку точности.
Пример: На отрезке [0, ] построить кубический сплайн с шагом , интерполирующий функцию , если заданы значения функции в трех узлах интерполяции:
x |
|
|
|
Sin(x) |
|
|
|
С помощью интерполяционной формулы вычислить приближенное значение и сравнить с точным значением 0,5.
Решение: Т.к. задано 2 отрезка, то представим сплайн в виде:
Краевые условия (I) имеют вид:
Из системы уравнений (28) имеем:
Находим
Подставляем значения в (24). Получаем:
( т.к. и числа, содержащие
Аналогично:
Получаем для : (т.к.
Т. о.
Погрешность меньше, чем !
Мы могли бы получить значение по формулам (29), (30)
Действительно, имеем:
Далее находим