数学建模社区-数学中国

标题: 对于for j=1:5 , j=j-1;起不起作用 [打印本页]

作者: tgnian    时间: 2008-12-14 22:50
标题: 对于for j=1:5 , j=j-1;起不起作用
for j=1:5
2 k" K. O4 `( B. n6 j# t, w) f4 V; \     j7 O6 r9 l  L" ]4 S4 {
     x=rand();
- V( \2 U, z5 G- P# _     y=rand();
( b% i- p& [1 f* e/ M% T    if (x+y)<1
# @/ Z( Y% R- w4 e     e=e+1;
) T+ ?* O" M9 z# K) ^7 }! B: s0 R' A    else
$ r0 O) D3 r. U  M        j=j-1;: U  b/ k9 q6 W2 K2 S& O9 M2 R. B
    end;
4 d, n5 D( [. {% V& C5 F5 m7 s8 n  end;
* d, T3 Z. \8 V其中else好像没起作用,因改成: u" `$ [& n6 s: n! H* n6 p. V
for j=1:5
8 x$ U! ?* U; O  s, _, c/ l     j3 E; R  u. `8 \: z9 g
     x=12;
. C8 @3 }9 g/ S% \. ?( f/ ?     y=12;
5 ^7 V7 j9 n% A2 O& z) N( W    if (x+y)< 1
- y) v. A& x: p" b      e=e+1;1 f& X5 ]" w: S, p5 W+ T/ Y
    else* ~3 z; ~) S& t! t8 W
        j=j-1;
4 {5 @! |6 w! p- d) k3 U2 W    end;8 T/ H+ |% Q. l: L! C, L! N
  end;
: P5 V) \6 [0 y' i& o# v按我的理解应该是死循环,可是运行,显示j=5 后结束运行
) K7 G5 ?1 h# U4 ?对于for j=1:5   , j=j-1;起不起作用,
8 e% O' H- P) X1 ~+ V. w, R如不起作用,有什么方法可实现同样的目的(产生无对随机数,其和小于1)?
作者: madio    时间: 2008-12-15 14:18
j=1;- t9 A" q7 y, k( H4 W* _
while j<=5
2 e! G- `( g0 `+ H8 l" C2 q     j# O6 E* T) ?3 r& _
     x=rand();
$ Z0 j4 D% J+ p9 N& i  h$ `- ~# X! C     y=rand();
, \( Q. x: e) O) w    if (x+y)<1! I. g( o* y. D" l
     [x,y]; R9 n, o& |) ?9 ^6 |$ r. z
     e=e+1;6 f& m$ T/ G: b- H5 R3 ]: q
     j=j+1;
3 b" Z# T2 N1 }5 Y" p( f1 m    end;
4 j: ?5 O# G% S  F+ i! ]2 Y  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是基于向量运算的+ l$ s8 }: ]+ Q0 T% l: w





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5