有没有办法在一行中编写“复杂”的元素操作,或者我们是否必须将它们分成多行?
例如,让我们有这个数学函数: 1/(1+e^-x) 我想为 x 上的每个元素计算它(x 可以是标量、向量或矩阵)。
这是我编写的工作代码:
function r = sigmoid(x)
r = zeros(size(x));
r = e.^(-x);
r = 1.+r;
r = 1./r;
end
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 我们可以将其简化为一行吗?
是的,您可以通过以下功能来完成
function r=sigmoid(x)
r=1./(1+exp(-x))
end
Run Code Online (Sandbox Code Playgroud)
这首先考虑 exp 函数计算指数值明智的元素并加一,最后结果在矩阵元素上除以 1,你可以得到你想要的。