- •Содержание
- •6 Решение систем линейных алгебраических уравнений прямыми методами
- •6.1 Метод Гаусса с выбором главного элемента по столбцу
- •6.2 Метод Холецкого
- •6.3 Метод прогонки
- •Задание для самостоятельной работы
- •Вопросы
- •7 Решение систем линейных алгебраических уравнений итерационными методами
- •7.1 Метод Якоби
- •7.2 Метод Зейделя
- •7.3 Метод простой итерации.
- •Задание для самостоятельной работы
- •Вопросы
- •8 Приближение функций
- •8.1 Постановка задачи приближения функции по методу наименьших квадратов
- •8.2 Определение параметров эмпирической зависимости
- •8.3 Многочлены Бернштейна
- •Задание для самостоятельной работы
- •Вопросы
- •9 Интерполяция функций
- •9.1 Постановка задачи интерполяции функций
- •9.2 Оценка погрешности интерполяции
- •Задание для самостоятельной работы
- •Вопросы
- •10 Интерполяция сплайнами
- •10.1 Глобальная и кусочно-полиномиальная интерполяция
- •10.2 Интерполяция сплайнами
- •Задание для самостоятельной работы
- •Вопросы
- •11 Численное дифференцирование
- •11.1 Первая производная. Двухточечные методы
- •11.2 Вычисление первых производных по трёхточечным схемам
- •11.3 Вычисление производных второго порядка
- •11.4 Вычисление производных третьего порядка
- •Задание для самостоятельной работы
- •12 Численное интегрирование
- •Задание для самостоятельной работы
- •13 Решение задачи Коши одношаговыми методами
- •13.1 Постановка задачи Коши для дифференциального уравнения первого порядка
- •13.2 Численное решение задачи Коши методом Эйлера
- •13.3 Оценка погрешности метода Эйлера
- •13.4 Модификации метода Эйлера
- •Задание для самостоятельной работы
- •Варианты заданий
- •15 Преобразование Фурье
- •15.1 Аппроксимация функции по Фурье
- •2. Преобразование Фурье
- •15.2 Быстрое преобразование Фурье.
- •16 Решение дифференциальных уравнений в частных производных
- •16.1 Уравнение Лапласа (эллиптическое уравнение)
- •17 Решение дифференциальных уравнений в частных производных (продолжение)
- •17.1 Уравнение теплопроводности (параболическое уравнение)
- •Задание для самостоятельной работы
- •Синютин сергей алексеевич
- •Вычислительная математика (часть 2)
10.2 Интерполяция сплайнами
Пусть отрезок
[a,b]
разбит точками на n
частичных отрезков
.
Сплайном
степени m
называется функция
,
обладающая следующими свойствами:
функция непрерывна на отрезке [a,b] вместе со своими производными до некоторого порядка p;
на каждом частичном отрезке
функция
совпадает с некоторым алгебраическим
многочленом
степени
m.
Разность m-p
между степенью сплайна и наивысшим
порядком непрерывной на отрезке [a
,b] производной
называют дефектом
сплайна.
Кусочно-линейная функция является
сплайном первой степени с дефектом,
равным единице. Действительно, на отрезке
[a ,b]
сама функция
(нулевая производная) непрерывна. В то
же время на каждом частичном отрезке
совпадает с некоторым многочленом
первой степени.
ПРИМЕР 3. Построение параболического сплайна.
Пусть дан фрагмент таблицы значений функции:
x |
-1 |
0 |
1 |
y |
1.5 |
0.5 |
2.5 |
Требуется построить параболический сплайн дефекта 1.
Так как строится
сплайн
,
то он будет представлен двумя полиномами
2-ой степени:
.
Функция должна удовлетворять условиям:
- это есть условие
интерполяции;
- это есть условие
непрерывности первой производной.
Таким образом, получили 5 условий для нахождения 6-сти неизвестных. Два условия дополнительно накладывают на сплайн в граничных точках.
Возьмем, например
дополнительное граничное условие
следующего вида
.
Тогда получим
систему уравнений относительно
неизвестных коэффициентов
:
Эта система легко решается:
,
,
,
,
,
.
Таким образом:
.
Наиболее широкое
распространение получили сплайны 3
степени (кубические сплайны)
с
дефектом равным 1 или 2. Система для
осуществления сплайн-интерполяции
кубическими полиномами предусматривает
несколько встроенных функций. Одна из
них рассмотрена в примере.
ПРИМЕР 4 . Построение сплайн-интерполяции (рис. 10.4).
% Построить интерполяцию сплайнами функции Рунге
% Введём функцию Рунге
f = inline('1./(1+25*x.^2)');
% Вычислим таблицу значений
x = linspace(-1, 1, 10);
y = f(x);
% Вычислим сплайн-интерполяцию
xx = linspace(-1, 1, 100);
yy = spline(x, y, xx);
% Начертим графики
axes('NextPlot', 'Add');
plot(x, y, 'LineWidth', 2);
% Красным на графике - аппроксимация, жирным - исходная функция.
plot(xx, yy, 'Color', 'r');
Рис. 10.4 - построение сплайн-интерполяции
Погрешность приближения кубическими сплайнами.
Пусть функция f
имеет на отрезке [a,b]
непрерывную производную четвертого
порядка и
.
Тогда для
интерполяционного кубического сплайна
справедлива оценка погрешности:
.
Задание для самостоятельной работы
Функция y = f(x) задана таблицей своих значений.
-
X
0
0.2
0.4
0.6
0.8
1
Y
0.75
1.1
1.35
1.25
1.05
0.8
Предложить способы интерполирования для нахождения значений функции в точках 0.24, 0.5, 0.96.
Функция y = f(x) задана таблицей своих значений.
X |
0 |
1 |
2 |
Y |
1 |
4 |
6 |
Построить
интерполяционный кубический сплайн с
граничными условиями
,
.
Проинтерполировать функцию задачи 2 методом кусочно-линейной интерполяции и построить график исходной функции и найденных многочленов.
