В числовой анализ, Эрмита интерполяция, названный в честь Чарльз Эрмит, это метод интерполяция точек данных как полиномиальная функция. Сгенерированный интерполирующий полином Эрмита тесно связан с Полином Ньютона, в том, что оба получены из расчета разделенные различия. Однако интерполирующий полином Эрмита также может быть вычислен без использования разделенных разностей, см. Китайская теорема об остатках § Интерполяция Эрмита.
В отличие от интерполяции Ньютона, интерполяция Эрмита сопоставляет неизвестную функцию как по наблюдаемому значению, так и по наблюдаемому значению ее первого м производные. Это означает, что п(м + 1) значения

должно быть известно, а не только первое п значения, необходимые для интерполяции Ньютона. Полученный многочлен может иметь степень не выше п(м + 1) - 1, тогда как многочлен Ньютона имеет максимальную степень п - 1. (В общем случае нет необходимости м быть фиксированным значением; то есть у некоторых точек может быть больше известных производных, чем у других. В этом случае полученный многочлен может иметь степень N - 1, с N количество точек данных.)
использование
Простой случай
При использовании разделенных разностей для вычисления полинома Эрмита функции ж, первый шаг - скопировать каждую точку м раз. (Здесь мы рассмотрим простейший случай
по всем пунктам.) Следовательно, учитывая
точки данных
, и значения
и
для функции
который мы хотим интерполировать, мы создаем новый набор данных

такой, что

Теперь мы создаем таблица разделенных различий для очков
. Однако для некоторых разделенных различий
![z_ {i} = z _ {{i + 1}} подразумевает f [z_ {i}, z _ {{i + 1}}] = { frac {f (z _ {{i + 1}}) - f ( z _ {{i}})} {z _ {{i + 1}} - z _ {{i}}}} = { frac {0} {0}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cc3588ca4962f1f296e2cdea2c000c7ec2a8e66f)
которое не определено. В этом случае разделенная разница заменяется на
. Все остальные рассчитываются нормально.
Общий случай
В общем случае предположим, что данная точка
имеет k производные. Тогда набор данных
содержит k идентичные копии
. При создании таблицы разделенные различия из
идентичные значения будут рассчитываться как

Например,
![f [x_ {i}, x_ {i}, x_ {i}] = { frac {f '' (x_ {i})} {2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7c91d4c08fb6c07b2424b18296c29c7218bb9247)
![f [x_ {i}, x_ {i}, x_ {i}, x_ {i}] = { frac {f ^ {{(3)}} (x_ {i})} {6}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9f1bcb9dc5877fe78decc13e34091095a94988ec)
и Т. Д.
Пример
Рассмотрим функцию
. Вычисление функции и ее первых двух производных при
, получаем следующие данные:
Икс | ƒ(Икс) | ƒ'(Икс) | ƒ''(Икс) |
---|
−1 | 2 | −8 | 56 |
0 | 1 | 0 | 0 |
1 | 2 | 8 | 56 |
Поскольку у нас есть две производные, с которыми нужно работать, мы строим множество
. Наша таблица разделенных разностей выглядит следующим образом:
![{ displaystyle { begin {array} {llcclrrrrr} z_ {0} = - 1 & f [z_ {0}] = 2 &&&&&&&& && { frac {f '(z_ {0})} {1}} = - 8 &&&&&&&& z_ {1} = - 1 & f [z_ {1}] = 2 && { frac {f '' (z_ {1})} {2}} = 28 &&&&&& && { frac {f '(z_ {1 })} {1}} = - 8 && f [z_ {3}, z_ {2}, z_ {1}, z_ {0}] = - 21 &&&&& z_ {2} = - 1 & f [z_ {2}] = 2 && f [z_ {3}, z_ {2}, z_ {1}] = 7 && 15 &&&& && f [z_ {3}, z_ {2}] = - 1 && f [z_ {4}, z_ {3}, z_ {2 }, z_ {1}] = - 6 && - 10 &&& z_ {3} = 0 & f [z_ {3}] = 1 && f [z_ {4}, z_ {3}, z_ {2}] = 1 && 5 && 4 && && { frac {f '(z_ {3})} {1}} = 0 && f [z_ {5}, z_ {4}, z_ {3}, z_ {2}] = - 1 && - 2 && - 1 & z_ { 4} = 0 & f [z_ {4}] = 1 && { frac {f '' (z_ {4})} {2}} = 0 && 1 && 2 && 1 && { frac {f '(z_ {4})} {1 }} = 0 && f [z_ {6}, z_ {5}, z_ {4}, z_ {3}] = 1 && 2 && 1 & z_ {5} = 0 & f [z_ {5}] = 1 && f [z_ {6}, z_ {5}, z_ {4}] = 1 && 5 && 4 && && f [z_ {6}, z_ {5}] = 1 && f [z_ {7}, z_ {6}, z_ {5}, z_ {4}] = 6 && 10 &&& z_ {6} = 1 & f [z_ {6}] = 2 && f [z_ {7}, z_ {6}, z_ {5}] = 7 && 15 &&&& && { frac {f '(z_ {6})} {1}} = 8 && f [z_ {8}, z_ {7}, z_ {6}, z_ {5}] = 21 &&&&& z_ {7} = 1 & f [z_ {7}] = 2 && { frac {f '' (z_ {7})} {2}} = 28 &&&&&& && { frac {f '(z_ {7})} {1}} = 8 &&&&&&& z_ {8} = 1 & f [z_ {8} ] = 2 &&&&&&&& end {array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/edcde38a7c93e88fab4e386bb863ffdf554f758f)
а сгенерированный полином равен

взяв коэффициенты из диагонали таблицы разделенных разностей и умножив kй коэффициент на
, как и при генерации полинома Ньютона.
Квинтик Эрмита Интерполяция
Квинтическая интерполяция Эрмита на основе функции (
), его первая (
) и вторые производные (
) в двух разных точках (
и
) может использоваться, например, для интерполяции положения объекта на основе его положения, скорости и ускорения. Общий вид имеет следующий вид:

Ошибка
Назовем вычисленный полином ЧАС и оригинальная функция ж. Оценка точки
, функция ошибки

куда c неизвестно в пределах диапазона
, K - общее количество точек данных, и
- количество производных, известных на каждом
плюс один.
Смотрите также
Рекомендации
внешняя ссылка