[請問] 急問matlab 迴圈中的矩陣問題已回收

看板ask (問板)作者 (揪客56)時間11年前 (2015/02/11 13:54), 編輯推噓0(005)
留言5則, 4人參與, 最新討論串1/1
小弟目前在寫matlab碼,預到了一問題 是這樣,假設我有一個A[20*100]的矩陣 每一列中(就是20個數字中)有兩個我想要的數值 所以我用find可以找到 ,例如第一列的在5和11的位置 然後我想對每一列都進行這樣find,存為一個2*100的矩陣 因此寫了個迴圈, for i=1:100 B(i)=find(A(:,i)==1) end 但出現A(I)=B這樣的錯誤訊息 如果把B(i)改成B(2,i)則會出現Subscripted assignment dimension mismatch. 請問我該怎麼寫呢 有點急問,麻煩各位了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.137.129 ※ 文章網址: https://www.ptt.cc/bbs/ask/M.1423634087.A.5C3.html

02/11 13:56, , 1F
你的I是什麼?你的B這樣寫是1x100怎麼會有B(2, i)?
02/11 13:56, 1F

02/11 13:57, , 2F
你確定find(A(:,i)==1)每次都剛好找到兩個嗎
02/11 13:57, 2F

02/11 13:59, , 3F
因為像你i=1的時候有兩個值 不過那時候是B(1)只有一位址
02/11 13:59, 3F

02/11 14:02, , 4F
改成這樣: B(:,i)=find(A(:,i)==1);
02/11 14:02, 4F

02/11 17:05, , 5F
解決了 感謝各位 :)
02/11 17:05, 5F
文章代碼(AID): #1KskwdN3 (ask)
文章代碼(AID): #1KskwdN3 (ask)