2010/03/02 求高手相助Matlab程序修改求助
本帖最后由 真龍虎王 于 2010-3-2 10:44 编辑恳请版上英雄能帮助小弟
原本题目:
NO GO TO
1 0 1
2 1 2
3 1 4
4 2 3
想表达
(1)NO=1再看TO=1找GO=0当GO=0表示结束
所以K= TO = 1 =[-1];
NO[ ] 1 [ -1]
(2)NO=2再看TO=2找GO=1当GO不等于零 看跟GO一样数字的TO
看TO=1找GO=0当GO=0表示结束
所以K= TO = 1 2 =[-1 -1;0 -1];
NO[ ] 1 [-1 -1
2 0 -1]
(3)NO=3再看TO=4找GO=1当GO不等于零 看跟GO一样数字的TO
看TO=1找GO=0当GO=0表示结束
所以K= TO = 1 2 3 4 =[-1 -1 0 -1;0 -1 0 0;0 0 0 -1;0 0 0 0];
NO[ ] 1 [-1 -1 0 -1
2 0 -1 0 0
3 0 0 0 -1
4 0 0 0 0 ]
(4)NO=3再看TO=3找GO=2当GO不等于零 看跟GO一样数字的TO
看TO=2找GO=1当GO不等于零 看跟GO一样数字的TO
看TO=1找GO=0当GO=0表示结束
所以K= TO = 1 2 3 4
NO[ ] 1 [-1 -1 -1 -1
2 0 -1 -1 0
3 0 0 0 -1
4 0 0 -1 0 ]
程序:
NO=;
GO=;
TO=;
k=zeros(length(NO),length(NO));
a=sub2ind(size(k),NO,TO);
k(a)=-1;
for i=1:length(NO)
s=i;
while s>=2
s=find(TO==GO(s));
k(NO(s),(TO(i)))=-1;
end
end
现在想改多看一个矩阵P 矩阵大小跟NO相同
如 P=
题目想改为
看NO找TO值再看GO值时顺便看P值
原本K是放入-1想改为当:
P=7 -1改为放入[-1 0 0;0 -1 0;0 0 -1]
=6 -1改为放入[-1 0 0;0 0 0;0 0 -1]
=5 -1改为放入
=4 -1改为放入[-1 0;0 -1;0 0]
=3 -1改为放入
=2 -1改为放入
=1 -1改为放入[-1;0;0]
目前卡关是卡在k矩阵大小是会因为P而变以及-1要改放入矩阵
页:
[1]