数学建模社区-数学中国

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

作者: tgnian    时间: 2008-12-14 22:50
标题: 对于for j=1:5 , j=j-1;起不起作用
for j=1:52 J+ n# U, D7 ~+ Q& t
     j
5 i1 U. X4 d/ [9 r4 q  ]% t1 _     x=rand();
4 N# y; I  q% i     y=rand();
; B6 G# y) b. }    if (x+y)<10 L1 ]  E' @. T. W& D& \
     e=e+1;; s$ ~' A' w& j1 U; _( H2 r
    else; d  Q. P: \) k% Q5 n
        j=j-1;. w- z+ b! N" k; ?' B- M
    end;4 u) K  D6 I; O7 k2 Q* ?7 ^- g
  end; ; u5 q6 F$ E' u9 X$ H, k' a4 ]
其中else好像没起作用,因改成
% d( c( G" [7 e7 H( x& m& I7 d for j=1:5
& L. k9 e+ N& F     j. Y* P6 R; A4 H7 K
     x=12;  u; B) H3 V' @$ c2 P
     y=12;, {& E( S: w/ h$ p6 @# q& T
    if (x+y)< 1- w/ q3 a! F- Z' V
      e=e+1;" F1 L* d0 R6 n2 k& ^: O
    else6 v, e2 ^, s8 F/ ]. p
        j=j-1;
* @& U# c* D0 n9 D5 f5 v. e, b+ q    end;
8 {+ _; u5 n. M) ?' O  end; 0 z6 G3 O: M- W: @5 f3 e2 H8 W
按我的理解应该是死循环,可是运行,显示j=5 后结束运行4 {0 d1 X  Z9 E' E6 x/ T
对于for j=1:5   , j=j-1;起不起作用,
8 b4 j5 k; C2 p) g6 @8 y& `如不起作用,有什么方法可实现同样的目的(产生无对随机数,其和小于1)?
作者: madio    时间: 2008-12-15 14:18
j=1;+ @0 a5 K( \2 T) S( s
while j<=5
6 U- D. Q+ z; N+ g5 [     j
& i* a: W' u' ]( C+ G     x=rand();
# P# O/ O+ E/ M- h' c     y=rand();+ w' H3 U, S! W
    if (x+y)<1
# K* Z+ ?$ v& y% k3 E7 \     [x,y]
" z, z) V6 ~" A/ m9 p% X- e     e=e+1;% w; Z( V8 s0 T( H% K
     j=j+1;# @6 j+ M. S* E
    end;7 |3 c. n$ g& p' T, z
  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是基于向量运算的
- v' O! @1 K, V




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