[問題]for迴圈中 加入if判斷式 想把值取出來

看板MATLAB作者 (麥克非漢堡)時間11年前 (2014/11/06 19:07), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串1/3 (看更多)
問題是這樣的 我把它簡化 a=(1 2 3;4 5 6;7 8 9);%%我已經知道大於5的有4個 b=zeros(4,1); %%所以我創了一個0矩陣,試圖把6789這四個大於5的數抓出來 %%以下是我的方法 但是 是失敗的 for i=1:3; for j=1:3; for k=1:4 if a(i,j)>5; b(k,1)=a(i,j); end end end end 這樣跑出來的結果 就是b裡面有4個9 雖然我知道為什麼這樣 可是有辦法可以把6789都抓出來嗎?? 我應該怎麼改呢?? 麻煩大家幫幫我! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.245.65.134 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1415272034.A.58E.html

11/06 19:21, , 1F
k什麼時候才應該+1 ?
11/06 19:21, 1F

11/06 19:26, , 2F
那我應該怎麼改@@ 卡好久..
11/06 19:26, 2F

11/06 19:36, , 3F
b=a(a>5); 結束~
11/06 19:36, 3F

11/06 22:05, , 4F
這個寫法,硬要改..無法改出你要的東西吧
11/06 22:05, 4F
文章代碼(AID): #1KMrPYME (MATLAB)
文章代碼(AID): #1KMrPYME (MATLAB)