Интерполяция функций
6.12. Интерполяция функций двух переменных
Пусть сетка образована пересечением прямых x = xn, n = 0, ..., N и y = ym, m = 0, ..., M, fnm = f(xn, ym) — значение функции в узле { xn, ym }. Воспользуемся, например, аппаратом кусочно - многочленной интерполяции. Для этого сначала реализуется кусочно - многочленная интерполяция заданной степени по x на каждой прямой y = ym. Затем при каждом значении x = xn реализуется кусочно - многочленная интерполяция по y с учетом значений функции, полученных на первом шаге. Так, в случае кусочно - линейной интерполяции по обоим переменным этот метод приводит (для случая прямоугольника ) к интерполяционному многочлену
![\begin{gather*}
F(x, y) = f_{nm} \frac{(x - x_{n + 1})(y - y_{m + 1})}{(x_n - x_{n + 1})(y_m - y_{m + 1})} +
f_{n + 1, m} \frac{(x - x_n)(y - y_{m + 1})}{(x_{n + 1} - x_n)(y_m - y_{m + 1})} + \\
+ f_{n + 1, m + 1} \frac{(x - x_n)(y - y_m)}{(x_{n + 1} - x_n)(y_{m + 1} - y_m)} +
f_{n, m + 1} \frac{(x - x_{n + 1})(y - y_m)}{(x_n - x_{n + 1})(y_{m + 1} - y_m)}.
\end{gather*}](/sites/default/files/tex_cache/9e5e970c8836e3079c3d45016a1334b6.png)
Сходным образом можно провести последовательную лагранжеву интерполяцию, но при каждом фиксированном значении m, затем — при каждом фиксированном значении n с учетом первого шага интерполяции. Общая формула такого интерполянта аналогична одномерной формуле для интерполяционного полинома в форме Лагранжа:
![\begin{gather*}
L_{NM} (x, y) = \sum\limits_{n = 0}^{N}{\sum\limits_{m = 0}^{M}{f_{nm}\prod\limits_{\substack{ i = 0 \\
i \ne n}} ^{N}{\prod\limits_{\substack{ j = 0 \\
j \ne m}}^{M}{\frac{(x - x_i)(y - y_j)}{(x_n - x_i)(y_m - y_j)}}} }}.
\end{gather*}](/sites/default/files/tex_cache/17c020828fca9e8e7584a507bee65ffb.png)
Если fA, fB, fD — значение функции f(x, y) в вершинах A, B, D, некоторого треугольника на треугольной расчетной сетке, то вычислить приближенное значение функции внутри этого треугольника можно с помощью билинейной функции находя коэффициенты a, b, c из условий
axA + byA + c = fA, axB + byB + c = fB, axD + byD + c = fD,
где {xA, yA}, {xB, yB}, {xD, yD} - координаты вершин A, B, D. Погрешность такой интерполяции для функции f(x, y) с непрерывными вторыми производными будет O(h2), где h — длина наибольшей стороны треугольника АВD.
6.13. Задачи
- Выписать интерполяционные полиномы первой и второй степени в форме Лагранжа и Ньютона.
Решение. Интерполяционные полиномы первой и второй степени в форме Лагранжа:
где t0, t1, t2 — узлы интерполяции, f(t1), f(t2), f(t3) - значения интерполируемой функции.
Интерполяционные полиномы первой и второй степени в форме Ньютона:
- Сравните количество арифметических действий, требуемое для вычисления интерполяционного
полинома, записанного в двух формах:
Ln(x) = a0 + a1t + ... + antn, Ln(x) = a0 + t(a1 + t(a2 + t(... (an - 1 + cnt) ...))) (схема Горнера)
Решение. В первом случае для вычисления значения в одной точке требуется
умножений и n сложений. Во втором — n умножений и n сложений. - Задана система узлов интерполяции:
Какова погрешность интерполяции, если n = 3?
Решение. Сделаем замену переменных в выражении для остаточного члена
Получим
Полученный кубический полином имеет на [- 1;1] экстремумы в точках
В таком случае
- Предложите простой рекуррентный алгоритм вычисления коэффициентов
интерполяционного полинома
Pn(t) = a0 + a1(t - t0 ) + ... + an(t - t0) ... (t - tN - 1).
Решение. Для коэффициентов полинома получаем систему линейных уравнений с треугольной матрицей:
которая легко решается от первого уравнения к последнему:
- Оценить погрешность приближения функции ln t'(t' = 1, 23) при помощи интерполяционного полинома второй степени по точкам 1, 1; 1, 2; 1, 3.
Решение. Остаточный член интерполяции будет
при N = 2 имеем:
В таком случае
- Показать, что погрешность интерполяции может быть выражена следующим образом:
f(t) - LN(t) = (t - t0) ... (t - tN)f(t, t0, ..., tN),
где f(t, t0, ..., tN) — разделенная разность порядка N.
Решение. Из выражения для разделенной разности порядка N + 1
получим выражение для f(t):
Тогда
Сравнивая полученное выражение с выражением для остаточного члена интерполяции
приходим к выводу, что для некоторой точкиимеет место соотношение между разделенной разностью и производной порядка N + 1:
- Пусть значения функции f(t) заданы в узлах интерполяции t1, t2, t3. Построить функцию для которой выполнялось бы условие интерполяции: g(ti) = f(ti), i = 1, 2, 3 (задача дробно - линейной интерполяции ).
Решение. Из условий интерполяции
получаем систему трех линейных уравнений:a0 + a1t1 - d0f1 = t1f1, a0 + a1t2 - d0f2 = t2f2, a0 + a1t3 - d0f2 = t3f3.
Вводя обозначения
и применив метод последовательного исключения неизвестных, получим
Здесь учтено, что
Разумеется, знаменатель дробно - рационального выражения не должен обращаться в нуль на рассматриваемом отрезке.