Conditional entry-wise matrix operation

4 views (last 30 days)
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.

Accepted Answer

James Tursa
James Tursa on 21 Feb 2018
Edited: James Tursa on 21 Feb 2018
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?

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!