2013-05-27 17 views
-1

Я хочу написать отдельную функцию, которая делает некоторые вычисления, но я понятие не имею, что алгоритм должен быть:алгоритма с некоторой арифметикой

Требования Я хочу, чтобы написать функцию, в которой вы проходите в число и возвращает значение от 0 до 1. , если я передаю в 0, он возвращает 1, и по мере увеличения значения входа результат приближается к 0.

Это похоже на ay = 1/x

, но я хочу установить маркеры, например, если вход 300, он возвращает 0,75, а если он равен 600, он возвращает 0,5

Есть ли такая формула, которая может мне помочь?

+2

Это будет больше по теме для http://mathematics.stackexchange.com. –

+0

Кроме того, неопределенный заголовок не будет полезен никому другому с той же проблемой. –

+1

Не уверен, что я это понимаю. Вы имеете в виду, что хотите, чтобы он вел себя как 1/x, но вы хотите, чтобы определенные предопределенные значения дали предопределенные результаты? У вас есть массив этих предварительно определенных (x, y) пар? И результаты должны быть уникальными? (например, является ли функция, предназначенная для строго убывающей функции?) Изменяется ли массив заранее определенных пар во времени или они фиксируются? – lurker

ответ

1

У меня есть функция, которая делает это!

Я использовал лагранжевую интерполяцию, но это не очень просто. Вместо этого другой (гораздо более простой) ответ, который работает только до 600;

   f(x)=-(x-1200)/1200 
1

Если вы знаете, высокое значение диапазона, скажем, например, 1200

Вывод должен быть 1- (300/1200) = 1 - 0,25 = 0,75

Для входа х, Формула 1 - (x/Rangehighvalue)

Смежные вопросы