|
Формула для расчета скидки?
|
|||
---|---|---|---|
#18+
Бьюсь уже несколько дней... Помогите пожалуйста... (и что я делал в Универе на занятиях по математике? :) ) Есть: а - минимальный размер предоставляемой скидки b - максимальный размер предоставляемой скидки P - потолок - величина общей суммы внесенной клиентом с которой будет предоставляться b (максимальная скидка) S - сумма, которую внес клиент... Необходимо рассчитать X - предоставляемая на текущий момент скидка... линейная форма, типа: X = a+(b-a)S/P при S<P и X=b при S>=P не устраивает... Необходимо чтобы приращение скидки (производная по S) убывала и в идеале, в точке P была бы равна 0... Очень хотелось бы, что бы можно было как-нибудь задавать уровень кривизны для этой зависимости... Заранее огромная благодарность... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 12:58 |
|
Формула для расчета скидки?
|
|||
---|---|---|---|
#18+
Если тебе нужна только нелинейность, то возведи S и P в степень больше двух или извлеки корень той же степени и подели их друг на друга. Просто и со вкусом, в том числе получишь нужную нелинейность. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 13:56 |
|
Формула для расчета скидки?
|
|||
---|---|---|---|
#18+
Попробовал сделать так X = a+(b-a)S^N/P^N при S<P и X=b при S>=P при 0<N< 1 - работает на ура... Проблема №2: Система, к которой эта штука делается не понимает (пока еще) Корней и в большую степень возводить не умеет... (знает только LOG) :( что-нибудь попроще не подскажете... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 15:55 |
|
Формула для расчета скидки?
|
|||
---|---|---|---|
#18+
X = a+(b-a)*(S*S*S)/(P*P*P) при S<P и X=b при S>=P Это возведение в степень :) при 0<N< 1 - работает на ура... А это уже извлечение корня: X = a+(b-a)*(S^(1/3))/(P^(1/3)) при S<P и X=b при S>=P Можешь попробовать логарифмировать по тому же принципу. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 16:39 |
|
Формула для расчета скидки?
|
|||
---|---|---|---|
#18+
:) X = a+(b-a)*(S*S*S)/(P*P*P) при S<P и X=b при S>=P - это да... ВОТ ТОЛЬКО ФОРМА ВОГНУТАЯ :( Интереснее конечно: X = a+(b-a)*(S^(1/3))/(P^(1/3)) при S<P и X=b при S>=P Системка вот это: (S^(1/3))/(P^(1/3), как раз таки сделать и не может... НО Я НЕ ОТЧАИВАЮСЬ... Попробовал пологорифмировать... X = a+(b-a)*Log(S)/Log(P) - Вид - замечательный... Кривая такая как нужно... вот только изменить ее НЕ ПОЛУЧАЕТСЯ...М ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2003, 16:52 |
|
Формула для расчета скидки?
|
|||
---|---|---|---|
#18+
off_topic Александрик, ты прямо как Юлий Цезарь - одновременно и про хром и про скидки задачи решаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 10:57 |
|
Формула для расчета скидки?
|
|||
---|---|---|---|
#18+
Чтож делать - жизнь такая.... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2003, 12:57 |
|
Формула для расчета скидки?
|
|||
---|---|---|---|
#18+
Если это еще кому-нибудь надо, то может поможет такая формула: log_a(b) = ln(b)/ln(a) = lg(b)/lg(a) = log_x(b)/log_x(a) =... где - log_a(b) - логарифм от b по основанию a; ln - натуральный логарифм; lg - десятичный логарифм; Варьируя основаниями - наверное можно добиться нужной кривизны. .... и насчет извлечения корня.... Есть хорошая формула - a^b = exp(b*ln(a)) т.о. S^(1/3))/(P^(1/3) = exp(ln(S)/3)/exp(ln(P)/3) = exp(ln(S/P)/3). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2003, 10:36 |
|
|
start [/forum/topic.php?fid=32&fpage=177&tid=1546812]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
67ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 164ms |
0 / 0 |