Is there a Matlab conditional IF operator that can be placed INLINE like VBA's IIF

后端 未结 10 1331
滥情空心
滥情空心 2020-12-01 11:06

In VBA I can do the following:

A = B + IIF(C>0, C, 0)

so that if C>0 I get A=B+C and C<=0 I get A=B

10条回答
  •  无人及你
    2020-12-01 11:07

    How about simply using the fact that MATLAB automatically converts variable types when required by the operation? E.g., logical to double.

    If your variables are scalar double, your code, I believe, can be replaced by

    a = b + (c > 0) * c;
    

    In this case, the operator (c > 0) values 1 (logical type) whenever c > 0 and values to 0 otherwise.

提交回复
热议问题