Perform this operation on a scalar/vector or matrix

2 ビュー (過去 30 日間)
atan
atan 2019 年 3 月 26 日
コメント済み: atan 2019 年 3 月 27 日
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 件のコメント
madhan ravi
madhan ravi 2019 年 3 月 26 日
Also
g = zeros(...) % line is unnecessary
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 Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by