Интерполяция функций
6.12. Интерполяция функций двух переменных
Пусть сетка образована пересечением прямых x = xn, n = 0, ..., N и y = ym, m = 0, ..., M, fnm = f(xn, ym) — значение функции в узле { xn, ym }. Воспользуемся, например, аппаратом кусочно - многочленной интерполяции. Для этого сначала реализуется кусочно - многочленная интерполяция заданной степени по x на каждой прямой y = ym. Затем при каждом значении x = xn реализуется кусочно - многочленная интерполяция по y с учетом значений функции, полученных на первом шаге. Так, в случае кусочно - линейной интерполяции по обоим переменным этот метод приводит (для случая прямоугольника ) к интерполяционному многочлену
Сходным образом можно провести последовательную лагранжеву интерполяцию, но при каждом фиксированном значении m, затем — при каждом фиксированном значении n с учетом первого шага интерполяции. Общая формула такого интерполянта аналогична одномерной формуле для интерполяционного полинома в форме Лагранжа:
Если 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.
Вводя обозначения
и применив метод последовательного исключения неизвестных, получим
Здесь учтено, что
Разумеется, знаменатель дробно - рационального выражения не должен обращаться в нуль на рассматриваемом отрезке.