Octave复杂的元素操作

时间:2017-08-16 12:14:26

标签: matlab octave

有没有办法写复杂的'一行中的元素操作,还是我们必须将它们分成多行?

例如,让我们有这个数学函数:1 /(1 + e ^ -x) 我想为x上的每个元素计算(x可以是标量,向量或矩阵)。

这是我编写的工作代码:

function r = sigmoid(x)
    r = zeros(size(x));
    r = e.^(-x);
    r = 1.+r;
    r = 1./r;
end

我的问题是 - 我们可以将它简化为一行吗?

1 个答案:

答案 0 :(得分:4)

是的,你可以通过以下功能

来做到这一点
function r=sigmoid(x)
r=1./(1+exp(-x))
end

首先考虑exp函数计算指数值智能元素并加1,最后结果将1除以矩阵元素,你可以得到你想要的结果。