Тригонометрическая интерполяция
В математике тригонометрическая интерполяция — это интерполяция полиномами тригонометрическими . Интерполяция — это процесс поиска функции, которая проходит через некоторые заданные точки данных . Для тригонометрической интерполяции эта функция должна быть тригонометрическим полиномом, то есть суммой синусов и косинусов заданных периодов. Эта форма особенно подходит для интерполяции периодических функций .
Важным особым случаем является случай, когда заданные точки данных расположены на одинаковом расстоянии друг от друга, и в этом случае решение дается дискретным преобразованием Фурье .
Формулировка задачи интерполяции [ править ]
Тригонометрический полином степени K имеет вид
( 1 ) |
Это выражение содержит 2 коэффициента K + 1, a 0 , a 1 , … a K , b 1 , …, b K , и мы хотим вычислить эти коэффициенты так, чтобы функция проходила через N точек:
Поскольку тригонометрический полином является периодическим с периодом 2π, N точек можно распределить и упорядочить за один период как
(Обратите внимание, что мы не обычно требуем, чтобы эти точки были расположены на одинаковом расстоянии.) Теперь задача интерполяции состоит в том, чтобы найти такие коэффициенты, чтобы тригонометрический полином p удовлетворял условиям интерполяции.
Формулировка в комплексной плоскости [ править ]
Проблема станет более естественной, если сформулировать ее в комплексной плоскости . Мы можем переписать формулу тригонометрического полинома как где я — мнимая единица . Если мы положим z = e ix , тогда это становится
с
Это сводит задачу тригонометрической интерполяции к задаче полиномиальной интерполяции на единичной окружности . Существование и единственность тригонометрической интерполяции теперь непосредственно следует из соответствующих результатов для полиномиальной интерполяции.
Дополнительную информацию о формулировке тригонометрических интерполяционных полиномов на комплексной плоскости см. на с. 156 Интерполяции с использованием полиномов Фурье .
Решение проблемы [ править ]
При вышеуказанных условиях существует решение проблемы для любого заданного набора точек данных { x k , y k } до тех пор, пока N , количество точек данных, не превышает количество коэффициентов в полиноме, т.е. , N ≤ 2 K +1 (решение может существовать, а может и не существовать, если N >2 K +1, в зависимости от конкретного набора точек данных). Более того, интерполяционный полином уникален тогда и только тогда, когда количество регулируемых коэффициентов равно количеству точек данных, т. е. N = 2 K + 1. В оставшейся части статьи мы будем предполагать, что это условие выполняется.
Нечетное количество очков [ править ]
Если количество точек N нечетное, скажем, N=2K+1 , применение формулы Лагранжа для полиномиальной интерполяции к полиномиальной формулировке в комплексной плоскости дает, что решение можно записать в виде
( 5 ) |
где
Фактор в этой формуле компенсирует тот факт, что формулировка комплексной плоскости содержит также отрицательные степени и поэтому не является полиномиальным выражением в . В правильности этого выражения легко убедиться, заметив, что и это представляет собой линейную комбинацию правых степеней . При использовании удостоверения
( 2 ) |
коэффициент можно записать в форме
( 4 ) |
Четное количество очков [ править ]
Если количество точек N четное, скажем, N=2K , применение формулы Лагранжа для полиномиальной интерполяции к полиномиальной формулировке в комплексной плоскости дает, что решение можно записать в виде
( 6 ) |
где
( 3 ) |
Здесь константы можно выбирать свободно. Это вызвано тем, что интерполирующая функция ( 1 ) содержит нечетное количество неизвестных констант. Обычным выбором является требование, чтобы самая высокая частота имела форму, умноженную на константу. , то есть член исчезает, но в общем случае фазу самой высокой частоты можно выбрать равной . Чтобы получить выражение для ) получаем , с помощью ( 2 , что ( 3 ) можно записать в виде
Это дает
и
Обратите внимание, что необходимо соблюдать осторожность, чтобы избежать бесконечности, вызванной нулями в знаменателе.
Эквидистантные узлы [ править ]
Дальнейшее упрощение задачи возможно, если узлы равноудалены, т.е.
см. Зигмунд для более подробной информации.
Нечетное количество очков [ править ]
Дальнейшее упрощение с использованием ( 4 ) было бы очевидным подходом, но оно явно требует усилий. Гораздо более простой подход — рассмотреть ядро Дирихле.
где странно. Легко можно увидеть, что представляет собой линейную комбинацию правых степеней и удовлетворяет
Поскольку эти два свойства однозначно определяют коэффициенты в ( 5 ) следует, что
Здесь функция sinc предотвращает любые сингулярности и определяется формулой
Четное количество очков [ править ]
Для даже мы определяем ядро Дирихле как
Опять же, легко увидеть, что представляет собой линейную комбинацию правых степеней , не содержит термина и удовлетворяет
Используя эти свойства, следует, что коэффициенты в ( 6 ) имеют вид
Обратите внимание, что не содержит также. Наконец, заметим, что функция исчезает во всех точках . Таким образом, всегда можно добавить кратные этому термину, но обычно они опускаются.
Реализация [ править ]
Реализацию вышеизложенного в MATLAB можно найти здесь :
функция P = triginterp ( xi,x,y )
% TRIGINTERP Тригонометрическая интерполяция.
% Входные данные:
% точек оценки xi для интерполянта (вектора)
% x равноотстоящие узлы интерполяции (вектор, длина N)
% значения интерполяции y (вектор, длина N)
% Выходные данные:
% P значений тригонометрического интерполянта (вектор)
N = длина ( Икс );
% Отрегулируйте интервал данной независимой переменной.
ч = 2 / Н ;
масштаб = ( Икс ( 2 ) - Икс ( 1 )) / час ;
х = х / масштаб ; xi = xi / масштаб ;
% Оценка интерполянта.
P = нули ( размер ( xi ));
для k = 1 : N
P = P + y ( k ) * трикардинальный ( xi - x ( k ), N );
конечная
функция tau = trigcardinal ( x,N )
ws = предупреждение ( 'off' , 'MATLAB:divideByZero' );
% Форма различна для четного и нечетного N.
if rem ( N , 2 ) == 1 % нечетный
tau = sin ( N * pi * x / 2 ) ./ ( N * sin ( pi * x / 2 ));
else %even
tau = sin ( N * pi * x / 2 ) ./ ( N * tan ( pi * x / 2 ));
конец
предупреждения ( ws )
тау ( x == 0 ) = 1 ; % фиксированного значения при x=0
с дискретным Фурье Связь преобразованием
когда точки xn частный случай , Особенно важен расположены на одинаковом расстоянии друг от друга. В этом случае мы имеем
Преобразование, которое отображает точки данных y n в коэффициенты a k , b k, получается из дискретного преобразования Фурье (ДПФ) порядка N.
(Из-за того, как задача была сформулирована выше, мы ограничились нечетным числом точек. В этом нет строгой необходимости; для четного числа точек включается еще один косинусный член, соответствующий частоте Найквиста .)
Случай косинусной интерполяции для равноотстоящих друг от друга точек, соответствующий тригонометрической интерполяции, когда точки имеют четную симметрию , был рассмотрен Алексисом Клеро в 1754 году. В этом случае решение эквивалентно дискретному косинусному преобразованию . Синусоидальное разложение для равноотстоящих друг от друга точек, соответствующее нечетной симметрии, было решено Жозефом Луи Лагранжем в 1762 году, для которого решением является дискретное синусоидальное преобразование . Полный косинус и синусоидальный интерполяционный полином, который приводит к ДПФ, был решен Карлом Фридрихом Гауссом в неопубликованной работе около 1805 года, после чего он также разработал алгоритм быстрого преобразования Фурье для его быстрого вычисления. Клеро, Лагранж и Гаусс были озабочены изучением проблемы определения орбит планет ; , астероидов и т. д. по конечному набору точек наблюдения поскольку орбиты периодические, естественным выбором была тригонометрическая интерполяция. См. также Heideman et al. (1984).
числовых вычислениях Приложения в
Chebfun , полностью интегрированная программная система, написанная на MATLAB для вычислений с функциями, использует тригонометрическую интерполяцию и разложения Фурье для вычислений с периодическими функциями. Многие алгоритмы, связанные с тригонометрической интерполяцией, легко доступны в Chebfun ; несколько примеров доступны здесь .
Ссылки [ править ]
- Кендалл Э. Аткинсон, Введение в численный анализ (2-е издание), раздел 3.8. Джон Уайли и сыновья, Нью-Йорк, 1988 год. ISBN 0-471-50023-2 .
- М.Т. Хайдеман, Д.Х. Джонсон и К.С. Буррус, « Гаусс и история быстрого преобразования Фурье », журнал IEEE ASSP Magazine 1 (4), 14–21 (1984).
- ГБ Райт, М. Джавед, Х. Монтанелли и Л. Н. Трефетен, « Расширение Чебфуна на периодические функции », SIAM. Дж. Наук. Вычислить. , 37 (2015), С554-С573
- А. Зигмунд, Тригонометрический ряд , Том II, Глава X, Cambridge University Press, 1988.