Re: Логорифмическая интерполяция в C
От: Namac  
Дата: 28.08.15 09:04
Оценка: 3 (1) +1
Хай Jangoo, Вы писали:

J>Всем привет!


J>Есть задача сабж для функции заданной парой double-массивов: функция и аргумент соответственно. Требуется написать функцию которая вернет вектор значений функции соответствующий переданному массиву аргументов. Погуглив я нашел это, но именно про логарифмическую интерполяцию речь даже близко не идет. Я так понимаю что равно, как и в случае линейной интерполяции, нужно сначала найти наклон, рассмотрев три случая:

J> 1. значение из переданного вектора аргумента меньше нижней границы уже имеющегося массива аргументов
J> 2. значение из переданного вектора аргумента больше верхней границы уже имеющегося массива аргументов
J> 3. значение из переданного вектора аргумента попадает в интервал значений уже имеющегося массива аргументов(!)
J>В последнем пункте есть загвоздка, я так понимаю нужно найти позиции ближайших к нему элементов и по ним собственно и искать наклон. Причем где-то должен выскочить логарифм(По какому основанию?).

Да что бы найти позицию ближайшей точки к искомой или вернуть позицию искомой точки если она содержится в переданном массиве аргументов нужно использовать нечто вроде алгоритма бинарного поиска. В C++ есть lover_bound. Соответственно в C придется написать свою альтернативу.

J>Код и направления куда копать приветствуются


Вот неплохой пример, собственно здесь, как раз и используют свою реализацию lower_bound

J>Буду очень признателен за помощь!


 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.