Perform this operation on a scalar/vector or matrix

6 次查看(过去 30 天)
I have a code like this
The function takes z as argument. z can be a scalar or vector or matrix
IF it is a vector, I want the operation stated to be performed on every element of a vector, if its a matrix I want the operation to be performed on every element of a matrix and if its a scalar on the scalar
It is not working. See below
1) If I give z as scalar 0. I get 0.5 which is correct
2) If I give z as 0.5, I get 0.6225 which is correct
3) I give as z as [0;0;0.5], I expect the answer to be 0.5 0.5 0.6225 but it doesn't work
function g = sigmoid(z)
%SIGMOID Compute sigmoid function
% g = SIGMOID(z) computes the sigmoid of z.
% You need to return the following variables correctly
g = zeros(size(z));
g = (1/(1+exp(-z)));

采纳的回答

Stephan
Stephan 2019-3-26
编辑:Stephan 2019-3-26
g = (1./(1+exp(-z)));
% ^
% |______ perform elementwise
  2 个评论
atan
atan 2019-3-27
Thanks !
This works:
g = (1./(1+exp(-z)));
I know that "." does the magic to perfoirm the element wise operation. I'm still unsure on where exactly one should insert that "."
Thanks !

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by