C++ Hermite интерполяция

Я нашел C++ источник, вычисляющий "полиномиальную интерполяционную функцию Эрмита и производные значения". Источник: https://people.sc.fsu.edu/~jburkardt/cpp_src/hermite/hermite.html

Я посмотрел на приведенные примеры в этом источнике, и ни один из них не относится к моему случаю.

Мой случай состоит в том, чтобы вычислить значения y в некоторой позиции x из точек данных, таких как:

X: 0.9, 1.7, 2.55, 3.39...
Y: 0.9, 0.8, 0.85, 0.84...

И получить результат с равными x пробелами (x space 0.5):

X: 0.5, 1.00, 1.5, 2.00, 2.5, 3.0,...
Y: 0.8, 0.95, 0.8, 0.85, 0.9, 0.9,...

Этот источник даже применим для моего случая?

1 ответ

Решение

Чтобы применить интерполяцию Эрмита, необходимо определить производные значения в начальных узлах.

Является ли термин непрофессионала производными значениями являются наклоны (направления) кривой в узлах. Интерполяция Эрмита предполагает, что вы знаете реальные или "хорошие" производные значения.

Например, чтобы сделать интерполяцию Эрмита Sin Функция четверти периода, вы можете установить начальное значение X 0, конечное значение X Pi/2, начальное и конечное значения Y 0 и 1, а также производные значения 1 и 0.

Если у вас нет априорной информации о производных - стоит использовать другой метод интерполяции, например - сплайны кубической интерполяции

Другие вопросы по тегам