Conditional entry-wise matrix operation

3 ビュー (過去 30 日間)
Deepayan Bhadra
Deepayan Bhadra 2018 年 2 月 20 日
コメント済み: Deepayan Bhadra 2018 年 2 月 21 日
Hi, I am trying to compute the matrix 'Y' as follows with matrix 'X' as an input.
If X_ij > 0
then Y_ij = X_ij + log(exp(-X_ij)+1)
else Y_ij = log(1+exp(X_ij))
How do I implement this without any loops? Thanks.

採用された回答

James Tursa
James Tursa 2018 年 2 月 21 日
編集済み: James Tursa 2018 年 2 月 21 日
Hints:
What does the expression -abs(X) do in relation to your condition of X_ij > 0? Could you use this in your formula for the calculation of Y?
Or, what if you created a logical indexing variable for your condition, such as g = X > 0. Can you think of how to use g as an index to calculating the appropriate elements of Y?
  1 件のコメント
Deepayan Bhadra
Deepayan Bhadra 2018 年 2 月 21 日
I got it, thanks to logical indexing!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by