[問題] 矩陣取代問題
各位版大好
想請教一下一個問題,類似取代的問題
有一矩陣
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
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章