conditional statement in one line for table columns

13 ビュー (過去 30 日間)
Priyanka Gaikwad
Priyanka Gaikwad 2017 年 6 月 23 日
編集済み: Guillaume 2017 年 6 月 23 日
logic: if(p2>0) r4=q2/p2 else r4=2*q2/p2 Question : how to convert this into r4={if p2>0?r4=q2/p2:r4=2*q2/p2} in matlab? p2 and q2 are columns of table.

採用された回答

alice
alice 2017 年 6 月 23 日
Have a look at the documentation, for example these: find-array-elements-that-meet-a-condition and element-wise-multiplication.
In your case, you can do:
r4 = (p2>0).*(q2./p2) + (p2<=0).*(q2./p2)*2;

その他の回答 (1 件)

Guillaume
Guillaume 2017 年 6 月 23 日
編集済み: Guillaume 2017 年 6 月 23 日
Or, rather than relying on semi-obscure mathematical expressions:
r4 = q2 ./ p2;
r4(p2 > 0) = 2 * r4(p2 > 0);
In my opinion, a lot clearer as to the intent.

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by