Интерполяция - Interpolation
Эта статья включает в себя список общих Рекомендации, но он остается в основном непроверенным, потому что ему не хватает соответствующих встроенные цитаты.Октябрь 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
в математический поле числовой анализ, интерполяция это тип оценка, способ построения новых точки данных в пределах дискретный набор известных точек данных.[1]
В инженерное дело и наука, часто есть несколько точек данных, полученных отбор проб или же экспериментирование, которые представляют значения функции для ограниченного числа значений независимая переменная. Часто требуется интерполировать, т.е. оценить значение этой функции для промежуточного значения независимой переменной.
Тесно связанная проблема - это приближение сложной функции простой функцией. Предположим, что формула для некоторой заданной функции известна, но слишком сложна для ее эффективного вычисления. Несколько точек данных из исходной функции можно интерполировать для получения более простой функции, которая все еще довольно близка к исходной. В результате выигрыш в простоте может перевесить потери из-за ошибки интерполяции.
Пример
В этой таблице приведены некоторые значения неизвестной функции .
0 | 0 | ||||
1 | 0 | . | 8415 | ||
2 | 0 | . | 9093 | ||
3 | 0 | . | 1411 | ||
4 | −0 | . | 7568 | ||
5 | −0 | . | 9589 | ||
6 | −0 | . | 2794 |
Интерполяция позволяет оценивать функцию в промежуточных точках, например: .
Опишем некоторые методы интерполяции, различающиеся такими свойствами, как: точность, стоимость, количество необходимых точек данных и гладкость итоговых интерполянт функция.
Кусочно-постоянная интерполяция
Самый простой метод интерполяции - найти ближайшее значение данных и присвоить то же значение. В простых задачах этот метод вряд ли будет использоваться, поскольку линейная интерполяция (см. Ниже) почти так же проста, но в многомерных многомерная интерполяция, это может быть удачным выбором из-за его скорости и простоты.
Линейная интерполяция
Один из самых простых способов - линейный интерполяция (иногда известная как лерп). Рассмотрим приведенный выше пример оценки ж(2.5). Поскольку 2,5 находится посередине между 2 и 3, разумно взять ж(2.5) на полпути между ж(2) = 0,9093 и ж(3) = 0,1411, что дает 0,5252.
Обычно линейная интерполяция требует двух точек данных, скажем (Икса,уа) и (Иксб,уб), а интерполянт равен:
Это предыдущее уравнение утверждает, что наклон новой линии между и такой же, как и наклон линии между и
Линейная интерполяция выполняется быстро и легко, но не очень точно. Другой недостаток заключается в том, что интерполянт не дифференцируемый в момент Иксk.
Следующая оценка ошибки показывает, что линейная интерполяция не очень точна. Обозначим функцию, которую мы хотим интерполировать, через грамм, и предположим, что Икс лежит между Икса и Иксб и это грамм дважды непрерывно дифференцируемо. Тогда погрешность линейной интерполяции равна
На словах ошибка пропорциональна квадрату расстояния между точками данных. Ошибка в некоторых других методах, включая полиномиальную интерполяцию и сплайн-интерполяцию (описанных ниже), пропорциональна более высоким степеням расстояния между точками данных. Эти методы также позволяют получить более гладкие интерполянты.
Полиномиальная интерполяция
Полиномиальная интерполяция - это обобщение линейной интерполяции. Обратите внимание, что линейный интерполянт - это линейная функция. Теперь заменим этот интерполянт на многочлен высшего степень.
Снова рассмотрим проблему, указанную выше. Следующий многочлен шестой степени проходит через все семь точек:
Подстановка Икс = 2,5, находим ж(2.5) = 0.5965.
Обычно, если у нас есть п точек данных, существует ровно один многочлен степени не выше п−1 по всем точкам данных. Ошибка интерполяции пропорциональна расстоянию между точками данных в степени п. Кроме того, интерполянт является многочленом и, следовательно, бесконечно дифференцируемым. Итак, мы видим, что полиномиальная интерполяция преодолевает большинство проблем линейной интерполяции.
Однако полиномиальная интерполяция также имеет некоторые недостатки. Вычисление интерполирующего полинома требует больших вычислительных ресурсов (см. вычислительная сложность ) по сравнению с линейной интерполяцией. Кроме того, полиномиальная интерполяция может демонстрировать колебательные артефакты, особенно в конечных точках (см. Феномен Рунге ).
Полиномиальная интерполяция может оценивать локальные максимумы и минимумы, которые находятся за пределами диапазона выборок, в отличие от линейной интерполяции. Например, интерполянт выше имеет локальный максимум на Икс ≈ 1.566, ж(Икс) ≈ 1.003 и локальный минимум при Икс ≈ 4.708, ж(Икс) ≈ −1,003. Однако эти максимумы и минимумы могут выходить за пределы теоретического диапазона функции - например, функция, которая всегда положительна, может иметь интерполянт с отрицательными значениями, а обратная функция, следовательно, содержит ложь. вертикальные асимптоты.
В более общем плане форма результирующей кривой, особенно для очень высоких или низких значений независимой переменной, может противоречить здравому смыслу, то есть тому, что известно об экспериментальной системе, которая генерировала точки данных. Эти недостатки можно уменьшить, используя сплайн-интерполяцию или ограничивая внимание Полиномы Чебышева.
Сплайн-интерполяция
Помните, что линейная интерполяция использует линейную функцию для каждого из интервалов [Иксk,Икск + 1]. Сплайн-интерполяция использует полиномы низкой степени в каждом из интервалов и выбирает части полинома так, чтобы они плавно совпадали. Полученная функция называется сплайн.
Например, естественный кубический шлиц является кусочно кубическая и дважды непрерывно дифференцируемая. Кроме того, его вторая производная равна нулю в конечных точках. Естественный кубический сплайн, интерполирующий точки в таблице выше, имеет вид