Форум: "Начинающим";
Текущий архив: 2017.10.22;
Скачать: [xml.tar.bz2];
ВнизФормула Найти похожие ветки
← →
SitiZen © (2015-11-26 18:46) [0]Здравствуйте. Такой вопрос есть некоторое значение, скажем k, и есть некоторая таблица со значениями n1,n2,n3...n, значения которых соответствуют k1,k2,k3...k. Вот мы получаем число k, но скажем оно получается между значениями k2 и k3, и соответственно между n2 и n3. Соответственно чтобы получить значение n следует посчитать по формуле: (n2+(k-k2)*(n3-n2))/(k3-k2) -вроде не ошибся, ну смысл в том что нужно взять крайние значения из таблицы и произвести с ними необходимые расчеты, чтобы получить что там в середине. Вопрос, собственно, в том, как сделать, чтобы программа делала данный алгоритм. То есть при получении каких то значений, находила крайние значения из заданной таблицы чисел, производила необходимый алгоритм и высчитывала n, но следует сказать что число k не обязательно должно быть между числами n2 и n3 и тд, оно может быть и равно одному из значений n.
← →
Юрий Зотов © (2015-11-26 20:04) [1]Гуглите по словам "линейная интерполяция".
← →
Германн © (2015-11-27 01:43) [2]Ищи тут http://alglib.sources.ru/
← →
skiph1 (2015-11-27 07:08) [3]Таблица отсортирована? Т.е. k2 всегда меньше k3?
если да, то решение тривиальное: пробегаешь по таблице и ищешь первое kх, которое НЕ БОЛЬШЕ k. Если на i-й записи встречаешь ki=k, выводишь ni, если оно больше k, то выводишь значение, вычисленное по формуле ni и n(i-1)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2017.10.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.002 c