Хай Jangoo, Вы писали:
J>Всем привет!
J>Есть задача сабж для функции заданной парой double-массивов: функция и аргумент соответственно. Требуется написать функцию которая вернет вектор значений функции соответствующий переданному массиву аргументов. Погуглив я нашел это, но именно про логарифмическую интерполяцию речь даже близко не идет. Я так понимаю что равно, как и в случае линейной интерполяции, нужно сначала найти наклон, рассмотрев три случая:
J> 1. значение из переданного вектора аргумента меньше нижней границы уже имеющегося массива аргументов
J> 2. значение из переданного вектора аргумента больше верхней границы уже имеющегося массива аргументов
J> 3. значение из переданного вектора аргумента попадает в интервал значений уже имеющегося массива аргументов(!)
J>В последнем пункте есть загвоздка, я так понимаю нужно найти позиции ближайших к нему элементов и по ним собственно и искать наклон. Причем где-то должен выскочить логарифм(По какому основанию?).
Да что бы найти позицию ближайшей точки к искомой или вернуть позицию искомой точки если она содержится в переданном массиве аргументов нужно использовать нечто вроде алгоритма бинарного поиска. В C++ есть
lover_bound. Соответственно в C придется написать свою альтернативу.
J>Код и направления куда копать приветствуются
Вот
неплохой пример, собственно здесь, как раз и используют свою реализацию lower_bound
J>Буду очень признателен за помощь!