作者r19881231 (阿年)
看板MATLAB
标题[问题] 矩阵取代问题
时间Mon Mar 18 23:23:27 2013
各位版大好
想请教一下一个问题,类似取代的问题
有一矩阵
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