Filter löschen
Filter löschen

conditional statement in one line for table columns

3 Ansichten (letzte 30 Tage)
Priyanka Gaikwad
Priyanka Gaikwad am 23 Jun. 2017
Bearbeitet: Guillaume am 23 Jun. 2017
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.

Akzeptierte Antwort

alice
alice am 23 Jun. 2017
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;

Weitere Antworten (1)

Guillaume
Guillaume am 23 Jun. 2017
Bearbeitet: Guillaume am 23 Jun. 2017
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.

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by