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

看板MATLAB作者 (芭樂丁)時間11年前 (2014/11/16 12:16), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《mike6352713z (麥克非漢堡)》之銘言: : 問題是這樣的 : 我把它簡化 : 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都抓出來嗎?? : 我應該怎麼改呢?? : 麻煩大家幫幫我! 不太懂你的問題 所以你是要把大於5的數字印出來? [i,j]=find(a>5) for k=1:length(i) a(i(k),j(k)) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.116.106 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1416111411.A.04C.html

11/16 14:04, , 1F
不需要有K迴圈,當if成立,K=K+1;,K=0放最外面
11/16 14:04, 1F
文章代碼(AID): #1KQ2Kp1C (MATLAB)
文章代碼(AID): #1KQ2Kp1C (MATLAB)