我正试图在scilab上使用这个代码绘制sigmoid函数,但我得到的结果不是来自等式。我的代码出了什么问题?
x = -6:1:6; y = 1 /(1 +%e ^ -x)
y =
0.0021340
0.0007884
0.0002934
0.0001113
0.0000443
0.0000196
0.0000106
0.0000072
0.0000060
0.0000055
0.0000054
0.0000053
0.0000053
http://en.wikipedia.org/wiki/Sigmoid_function
非常感谢你
答案 0 :(得分:2)
尝试:
-->function [y] = f(x)
--> y = 1/(1+%e^-x)
-->endfunction
-->x = -6:1:6;
-->fplot2d(x,f)
产生:
答案 1 :(得分:0)
您的方法计算(1 +%e。^ x)向量的伪逆。您可以通过执行:(1 +%e ^ -x)* y
进行验证您可以做以下两件事:
x = -6:1:6; y = ones(x)./(1+%e.^-x)
这给出了您需要的结果。这按预期执行元素分割。
另一种方法是:
x = -6:1:6
deff("z = f(x)", "z = 1/(1+%e^-x)")
// The above line is the same as defining a function-
// just as a one liner on the interpreter.
y = feval(x, f)
两种方法都会产生相同的结果。