c # n-линейная интерполяция - PullRequest
       3

c # n-линейная интерполяция

0 голосов
/ 14 сентября 2010

Интересно, если я лаю не на том дереве. Я хотел бы, чтобы рекурсивная функция выдала мне результаты n-линейной интерполяции, например:

Я применяю скидки к ценам транспортных средств. У меня есть два типа скидок: объем и возраст, такие что

A. Объем = 10, Возраст = 10, скидка = 100; Объем = 10, Возраст = 20, скидка = 200;

B. Объем = 20, Возраст = 10, скидка = 200; Объем = 20 Возраст = 20, скидка = 400;

Я хочу интерполировать следующее:

Объем = 15, Возраст = 15, скидка = ??

На бумаге я бы использовал формулу yn = y0 + (x1 - xn) (y1 - y0 / x1 - x0):

  1. От A, интерполировать: объем = 10, возраст = 15, результат = 150
  2. От B, интерполировать: объем = 20, возраст = 15, результат = 300
  3. Из 1 и 2, интерполировать том = 15, возраст = 15, результат = 225

Есть идеи, как написать это как рекурсивную функцию C #, чтобы у меня было сколько угодно шоков? Можно ли так представить?

Если вам нужна дополнительная информация, дайте мне знать и заранее большое спасибо за любую помощь.

1 Ответ

0 голосов
/ 14 сентября 2010

Я думаю, что простая итерация - лучший подход здесь.Я бы начал с поиска «ближайшего соседа» или «ближайшего соседа».Затем выполните итерацию ваших измерений и добавьте смещения, пропорциональные переходу к следующей точке данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...