数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 2984|回复: 2

匪夷所思的运行结果,大虾请留步,急切

[复制链接]
发表于 2004-8-25 07:25:30 | 显示全部楼层 |阅读模式
<>程序不长,请高手们驻足</P>
<>time=0;t1=[1,4,5;5,3,2;4,3,3];n=3;
while t1~=zeros(n,n)
    P=zeros(n,n);
    cishu=0;tt=double(t1);
    while cishu&lt;n
          i=1+round(rand(1)*(n-1));j=1+round(rand(1)*(n-1));
          if tt(i,j)~=0
             P(i,j)=1;
             tt(i,=0;
             tt(:,j)=0;
             cishu=cishu+1;
          end
    end
    t=double(P.*t1);
    numda=min(min(nonzeros(t)));
    P
   t1=double(t1-numda*P);
    fprintf('numda=%d\n',numda)
    time=time+numda;
end
fprintf('time=%d\n',time) </P>
<>这样的运行结果按理来说是有几个的,但却只出现一个,真奇怪,运行结果如下:</P>
<P>P =</P>
<P>     0     1     0
     0     0     1
     1     0     0</P>
<P>numda=2
time=2</P>
<P>t1 =</P>
<P>     1     2     5
     5     3     0
     2     3     3
在t1不等于0矩阵的时候就停住了,真是匪夷所思,我在COMMAND WINDOWS敲入判断语句,</P>
<P> if t1==zeros(3,3)
t3=2
else
t3=1
end</P>
<P>t3 =</P>
<P>     1</P>
<P>&gt;&gt; if t1~=zeros(3,3)
t3=1
else
t3=2
end</P>
<P>t3 =</P>
<P>     2</P>
<P>这是什么哭笑不得的结果阿!!!请高手指点!非常急切</P>
<P>谢谢大家了</P>
发表于 2004-8-25 18:37:21 | 显示全部楼层
<>我看不懂耶</P><>你的程序是用来算什么的,是求得什么啊</P><>是不是 t1 表达的东西与矩阵无关了呢</P><P>丢失了数据</P>
发表于 2004-8-25 18:39:19 | 显示全部楼层
<>还有逻辑判断的行为本质是什么啊</P><>计算机可不是人呢</P><>人一下就可以看出的逻辑问题</P><P>有时候计算机,哈哈,完蛋</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 16:28 , Processed in 0.074584 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表