Всем привет!
Есть задача сабж для функции заданной парой double-массивов: функция и аргумент соответственно. Требуется написать функцию которая вернет вектор значений функции соответствующий переданному массиву аргументов. Погуглив я нашел
это, но именно про логарифмическую интерполяцию речь даже близко не идет. Я так понимаю что равно, как и в случае линейной интерполяции, нужно сначала найти наклон, рассмотрев три случая:
1. значение из переданного вектора аргумента меньше нижней границы уже имеющегося массива аргументов
2. значение из переданного вектора аргумента больше верхней границы уже имеющегося массива аргументов
3. значение из переданного вектора аргумента попадает в интервал значений уже имеющегося массива аргументов(!)
В последнем пункте есть загвоздка, я так понимаю нужно найти позиции ближайших к нему элементов и по ним собственно и искать наклон. Причем где-то должен выскочить логарифм(По какому основанию?).
Код и направления куда копать приветствуются
Буду очень признателен за помощь!
Здравствуйте, Jangoo, Вы писали:
J>Код и направления куда копать приветствуются
J>Буду очень признателен за помощь!
https://github.com/lballabio/quantlib/blob/master/QuantLib/ql/math/interpolations/loginterpolation.hpp
Хай Jangoo, Вы писали:
J>Всем привет!
J>Есть задача сабж для функции заданной парой double-массивов: функция и аргумент соответственно. Требуется написать функцию которая вернет вектор значений функции соответствующий переданному массиву аргументов. Погуглив я нашел это, но именно про логарифмическую интерполяцию речь даже близко не идет. Я так понимаю что равно, как и в случае линейной интерполяции, нужно сначала найти наклон, рассмотрев три случая:
J> 1. значение из переданного вектора аргумента меньше нижней границы уже имеющегося массива аргументов
J> 2. значение из переданного вектора аргумента больше верхней границы уже имеющегося массива аргументов
J> 3. значение из переданного вектора аргумента попадает в интервал значений уже имеющегося массива аргументов(!)
J>В последнем пункте есть загвоздка, я так понимаю нужно найти позиции ближайших к нему элементов и по ним собственно и искать наклон. Причем где-то должен выскочить логарифм(По какому основанию?).
Да что бы найти позицию ближайшей точки к искомой или вернуть позицию искомой точки если она содержится в переданном массиве аргументов нужно использовать нечто вроде алгоритма бинарного поиска. В C++ есть
lover_bound. Соответственно в C придется написать свою альтернативу.
J>Код и направления куда копать приветствуются
Вот
неплохой пример, собственно здесь, как раз и используют свою реализацию lower_bound
J>Буду очень признателен за помощь!
Здравствуйте, Namac, Вы писали:
N>В C++ есть lover_bound
"связанный любовник"? интересный язык, интересный
Здравствуйте, BulatZiganshin, Вы писали:
BZ>Здравствуйте, Namac, Вы писали:
N>>В C++ есть lover_bound
BZ>"связанный любовник"? интересный язык, интересный
Описался ссорри

Мысль главное верна
Здравствуйте, Namac, Вы писали:
N>Описался ссорри
держите нас в курсе!