feifeihanyu 发表于 2008-1-14 14:37

请教语句的执行问题

x=100;y=100;
   xx=[];yy=[];
   for i=1:10000
       pp=rand(1);
   if pp<1/4
      y=y+1;
   elseif 1/4<pp<1/2
      x=x-1;
   elseif 1/2<pp<3/4
      y=y-1;   
   elseif pp>3/4
   x=x+1;
   end
   xx(i)=x;
   yy(i)=y;
   end
   figure
   comet(xx,yy)
这样的一个随机游走程序,理论上以该是在点(100,100)上下和左右游走的 。 但是为什么现在只能在y轴上实现了,而在x轴方向上不能实现啊!?请大侠帮忙多谢了!
好像这个语句没有执行--“esleif 1/4<pp<1/2; x=x-1;”

[ 本帖最后由 eight 于 2008-1-21 18:45 编辑 ]

sigma665 发表于 2008-1-14 14:42

回复 楼主 的帖子

1/4<pp<1/2
没有哪个程序语言可以这样智能

feifeihanyu 发表于 2008-1-14 14:55

回复 2楼 的帖子

谢谢 但是为什么这个语句在程序里执行了啊
elseif 1/2<pp<3/4
      y=y-1;

feifeihanyu 发表于 2008-1-14 14:59

回复 2楼 的帖子

但是 为什么会没报错啊!
呵呵...谢谢你啊
刚改了一下,可以了!
这样就行了。
x=100;y=100;
   xx=[];yy=[];
   for i=1:10000
       pp=rand(1);
   if pp<1/4
      y=y+1;
   elseifpp<1/2
      x=x-1;
   elseifpp<3/4
      y=y-1;   
   elseif pp>3/4
   x=x+1;
   end
   xx(i)=x;
   yy(i)=y;
   end
   figure
   comet(xx,yy)
高手果然是高手!再次谢过!
页: [1]
查看完整版本: 请教语句的执行问题