[問題] 矩陣取代問題

看板MATLAB作者 (阿年)時間12年前 (2013/03/18 23:23), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
各位版大好 想請教一下一個問題,類似取代的問題 有一矩陣 a= 0 1 0 0 1 0 0 0 0 1 0 1 1 0 1 0 取代規則 同一列與同一行若1的個數超過兩個 則利用別的數字取代,如:55 若同一列與同一行若1的個數只有一個 則利用另外一個數字取代,如:22 直到a矩陣沒有1為止 ex:試算第一行第一列 ans: a = 0 22 0 0 22 0 0 0 0 1 0 1 55 0 1 0 最終ans: a = 0 22 0 0 22 0 0 0 0 55 0 22 55 0 55 0 目前小弟做出第一行第一列之後,就完全卡關= =... 用for 迴圈計算第n行與第n列 每次都會出錯..... 請問有版大做過類型的問題嗎??? 請問該如何解決? 附上 小弟我的第一行第一列原始碼,本人matlab很爛 所以多見諒。 a=[0 1 1 0; 1 0 0 0;0 0 1 0;1 0 0 0]; for j =1:4 b=sum((a(:,1))==1); c=sum((a(1,:))==1); for i=1:4 if (b+c>=2 & a(1,i)==1) a(1,i)=22 else for k=1:3 if (c==0 & b>=2 & a(k,1)==1) a(k,1)=22 else if (c==0& b<=1) a(a(:,1)==1)=55 end end end end end end 感謝大家~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.54.14
文章代碼(AID): #1HHp5oHB (MATLAB)
文章代碼(AID): #1HHp5oHB (MATLAB)