Алгоритм n-мерной интерполяции c ++

Как я могу реализовать n-мерную интерполяцию в C ++? В идеальном случае я хотел бы, чтобы он был общим для реального ядра, чтобы я мог переключаться между, например, линейной и полиномиальной интерполяцией (возможно, в качестве начала: линейная интерполяция). Эта статья ( http://pimiddy.wordpress.com/2011/01/20/n-dimensional-interpolation/ ) обсуждает этот материал, но у меня есть две проблемы:
1) Я не мог понять, как реализовать метод «интерполировать», показанный в статье в C ++
2) Что более важно, я хочу использовать его в сценарии, где у вас есть «несколько независимых переменных (X)» и «1 зависимая переменная (Y)» и как-то интерполировать оба (?)

Например, если n = 3 (т.е. 3-мерное) и у меня есть следующие данные:

#X1 X2 X3 Y
10  10 10 3.45
10  10 20 4.52
10  20 15 5.75
20  10 15 5.13

….

Как узнать значение Y (зависимой переменной) для конкретной комбинации X (независимых переменных): 17 17 17

Я знаю, что существуют другие способы, такие как деревья решений и SVM, но здесь я заинтересован в интерполяции.

2

Решение

Вы можете взглянуть на набор алгоритмов интерполяции (включая реализацию C ++) на ALGLIB.

Также следует отметить, что нейронные сети (обратное распространение например, сети) считаются хорошими интерполяторами.

Если ваш вопрос касается конкретной статьи, это не в моих знаниях.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]