tgnian 发表于 2008-12-14 22:50

对于for j=1:5 , j=j-1;起不起作用

for j=1:5
     j
     x=rand();
     y=rand();
    if (x+y)<1
     e=e+1;
    else
        j=j-1;
    end;
  end;
其中else好像没起作用,因改成
for j=1:5
     j
     x=12;
     y=12;
    if (x+y)< 1
      e=e+1;
    else
        j=j-1;
    end;
  end;
按我的理解应该是死循环,可是运行,显示j=5 后结束运行
对于for j=1:5   , j=j-1;起不起作用,
如不起作用,有什么方法可实现同样的目的(产生无对随机数,其和小于1)?

madio 发表于 2008-12-15 14:18

j=1;
while j<=5
     j
     x=rand();
     y=rand();
    if (x+y)<1
     
     e=e+1;
     j=j+1;
    end;
  end;

tgnian 发表于 2008-12-15 18:13

谢谢 2楼给予解决

tgnian 发表于 2008-12-15 18:15

能否解释一下,为什么原来的为什么不行(即对于for j=1:5   , j=j-1;起不起作用?)

madio 发表于 2008-12-16 15:45

j=1:5这个定义了一个向量,所以你的j=j-1;语句不起作用,这个和C语言并不一样!

hdzhangliang 发表于 2011-11-12 23:37

matlab是基于向量运算的
页: [1]
查看完整版本: 对于for j=1:5 , j=j-1;起不起作用