Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Формула [D7, XP]


SitiZen ©   (2015-11-26 18:46:00) 

Здравствуйте. Такой вопрос есть некоторое значение, скажем 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.


skiph1   (2015-11-27 07:08:00) [1]

Таблица отсортирована? Т.е. k2 всегда меньше k3?
если да, то решение тривиальное: пробегаешь по таблице и ищешь первое kх, которое НЕ БОЛЬШЕ k. Если на i-й записи встречаешь ki=k, выводишь ni, если оно больше k, то выводишь значение, вычисленное по формуле ni и n(i-1)


Германн   (2015-11-27 01:43:00) [2]

Ищи тут http://alglib.sources.ru/


Юрий Зотов   (2015-11-26 20:04:00) [3]

Гуглите по словам "линейная интерполяция".


Наверх

Титульная страница Поиск, карта сайта Написать письмо