[討論] MATLAB迴圈問題

看板MATLAB作者 (lana)時間9年前 (2015/09/29 20:40), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
各位好: 雖然摸了Matlab一陣子了 但還是不太會寫迴圈的式子 目前有一個問題,想請各位幫忙>< 假設A~E區,有出現左邊物品者,即判別為TRUE,如下: 數字矩陣X(4*5)與文字檔為Y(4*1) | A B C D E --------------------------- apple | 0 0 0 0 0 banana| 0 0 1 0 1 cat | 0 0 1 1 1 dog | 1 1 1 0 0 (一) 若要將他改寫成,物品名稱出現在對應區域(如下),該如何寫? A B C D E ------------------------------- 0 0 0 0 0 0 0 banana 0 banana 0 0 cat cat cat dog dog dog 0 0 我的想法是 我先找出判斷式為1的矩陣位置 >>[i,j] = find(X==1); 接著製造一個4*4的文字檔矩陣 >>X2=repmat(X,[4;1]); 然後利用迴圈將判斷式出現0的文字改為0,為1的的放入文字,但就卡住了... if ... = [i;j] k2=X2(i,j); else k2=0; end (二) 又或者是改寫成每個區域對應有出現的物品種類(如下),這樣又該如何寫? A:dog B:dog C:banana,cat,dog D:cat E:banana,cat 想了(一)好久好久,但還是想不出來QQ,最後連(二)都放棄了... 麻煩各位大大了 謝謝>< -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.199.180 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1443530411.A.45D.html

09/30 13:44, , 1F
Y2=repmat(Y,[1,5]); Y2(X==0)={'0'};
09/30 13:44, 1F
文章代碼(AID): #1M2eQhHT (MATLAB)
文章代碼(AID): #1M2eQhHT (MATLAB)