Логорифмическая интерполяция в C
От: Jangoo  
Дата: 27.08.15 13:00
Оценка:
Всем привет!

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

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

Буду очень признателен за помощь!
Re: Логорифмическая интерполяция в C
От: novitk США  
Дата: 27.08.15 13:11
Оценка: 1 (1) +1
Здравствуйте, Jangoo, Вы писали:

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

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

https://github.com/lballabio/quantlib/blob/master/QuantLib/ql/math/interpolations/loginterpolation.hpp
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>Буду очень признателен за помощь!


Re[2]: Логорифмическая интерполяция в C
От: BulatZiganshin  
Дата: 28.08.15 09:22
Оценка: :)))
Здравствуйте, Namac, Вы писали:

N>В C++ есть lover_bound


"связанный любовник"? интересный язык, интересный
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: Логорифмическая интерполяция в C
От: Jangoo  
Дата: 28.08.15 10:32
Оценка:
Всем Спасибо!
Примеры то что нужно.
Re[3]: Логорифмическая интерполяция в C
От: Namac  
Дата: 28.08.15 18:52
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Здравствуйте, Namac, Вы писали:


N>>В C++ есть lover_bound


BZ>"связанный любовник"? интересный язык, интересный


Описался ссорри Мысль главное верна
Re[4]: Логорифмическая интерполяция в C
От: uzhas Ниоткуда  
Дата: 30.08.15 18:27
Оценка:
Здравствуйте, Namac, Вы писали:

N>Описался ссорри


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