SIgmoid 函数的语法 - Javascript

Syntax of a SIgmoid Function - Javascript

我一直试图让这个功能发挥作用,但没有用。任何人都可以透露一些信息吗?

它是一个应用了一些的 Sigmoid boundaries/transormations。 Here's the link to the function in desmos。这是完美的工作。它看起来像这样:

这就是公式:

但是当我尝试将其 'translate' 放入我的 Javascript 代码中时,我无法让它按预期执行。这是我尝试过的:

y = m*((0.5/(1/(1+(Math.pow(Math.E,((-1)*d))))-0.5))*((1/((1+(Math.pow(Math.E, (((-1)*d)*(1/h)*x-1))))))-0.5))+0.5;

该函数未按预期进行限制,它应该像 Desmos 示例中那样通过 0,0...但事实并非如此!我知道那里可能有太多的括号,对于对此有更好理解的人来说,解决方案将是显而易见的,所以,你能帮帮我吗?

谢谢!!

你不小心把最后一个 +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 的值并且每​​次都有效 (不是科学,而是实践证明^^)