Вы случайно поместили последний +0.5
за скобки.
Примечание: вам не нужно использовать (-1)*d
, так как это равно -d
.
Вот моя улучшенная версия:
y = m*((0.5/(1/(1+(Math.pow(Math.E, -d)))-0.5))*((1/((1+(Math.pow(Math.E, -d*((1/h)*x-1))))))-0.5)+0.5);
Я пробовал с переменными, указанными на desmos :
m = 2;
d = 1;
h = 0.5;
// you wanted to check for this point
x = 0;
/* [The code above] */
Я тестировал его для значений 0, 1 and 42
и каждого раз это работает (не научное c, а практическое доказательство ^^)
Надеюсь, это будет полезно! Если это работает, вы можете принять этот ответ, нажав на галочку ^^