Прошу помочь с такой вещью, как интерполяция сплайном.
Допустим, есть функция, заданная координатами пяти точек x и y:
float x[5] = {0.1, 3, 3.5, 10};
float y[5] = {31, 2.222, 6, 6, 10};
Кроме того, пользователем задается ордината точки, абсциссу которой нужно найти:
float point_x, point_y;
cin >> point_x;
Условно предположим, что введенное значение лежит в диапазоне от 0.1 до 10, не в этом суть. Суть – это алгоритм интерполяции, который описан во многих справочниках/учебниках по численным методам, но нигде не сопровождается комментариями или подробным описанием "куда чего совать"
У меня уже был курс численных методов, но какой-то он был урезанный и сплайны обошли меня стороной. Поэтому прошу, кто знает, как это работает, объяснить на примере с комментариями или хотя бы своими словами:-)
30 марта 2010 в 4:00
Имеется около 10 графиков, каждый задан количеством точек от 200 до 5000. Нужно для каждого графика найти около 1000 – 1500 значений и сделать это надо быстро. Лагранж, может, и работает быстро (в чем я сомневаюсь), но сплайны работают наверняка быстрее.
17 марта 2010 в 9:04
Лагранж работает за квадрат. на тысяче точек будет всё хорошо.
16 марта 2010 в 23:01
А если точек 200? То тогда использовать только 5 ближайших?
16 марта 2010 в 17:04
Есть интерполяционный полином Лагранжа который для пяти точек будет прекрасно работать. Я его неоднократно использую для разных задач, он прост и литературы по нему полно. Советую)