[問題] 有沒有類似 c=(a>b) ? 1:0; 的縮寫已回收

看板MATLAB作者 (SaoAn)時間15年前 (2010/10/13 23:55), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/1
小弟最近剛接觸matlab,請問matlab有沒有類似這種縮寫 c=(a>b) ? 1:0; verilog和c++都可以這樣寫,可是matlab我試不出來 如果寫成 if(a>b) c=1 else c=0; 這樣要好多行 code會很亂 問的問題可能有點基本 還請各位不吝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 24.161.183.254

10/14 00:13, , 1F
c=(a>b); %%% 更短
10/14 00:13, 1F

10/14 01:07, , 2F
這稱做 3元運算
10/14 01:07, 2F

10/14 01:10, , 3F
c=(a>b)?9:7; 這種就不是判斷可以做到的(Ternary operation)
10/14 01:10, 3F

10/14 03:31, , 4F
c=2*(a>b)+7;
10/14 03:31, 4F

10/14 07:08, , 5F
x = [a,b,c]; c=x( (e1>e2) + (e2>e3) );
10/14 07:08, 5F

10/14 07:09, , 6F
x存判斷式的所有可能結果 ~~
10/14 07:09, 6F
文章代碼(AID): #1CjTPyvz (MATLAB)