数学建模社区-数学中国

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

作者: tgnian    时间: 2008-12-14 22:50
标题: 对于for j=1:5 , j=j-1;起不起作用
for j=1:5. h+ M# D( K8 N* @, r& t) w4 ^
     j; M* m7 Q. G+ j  M
     x=rand();. {& B7 l2 {0 T. {
     y=rand();
) n9 S7 _. @, A. w1 e* k  s% q    if (x+y)<10 c/ Y3 D- b% F( Z( Q
     e=e+1;2 F6 K5 J; n3 d) C( p( _% r
    else2 ^5 C; s2 w2 [3 c
        j=j-1;1 B/ H0 p9 y3 C( D
    end;1 I! [+ e; {( H2 S
  end; 2 m2 e3 @9 A; J# F. g3 S
其中else好像没起作用,因改成- l5 M/ w: w3 U" l2 }3 ^
for j=1:5
$ g9 P0 D/ ~$ s5 G3 d     j
# _& F  [7 S4 G& L     x=12;
3 q. @2 V/ \! d. ]% Z0 n     y=12;, N: K" j1 Y& b2 d1 e' C
    if (x+y)< 1& ?; i+ i: C$ U! ?
      e=e+1;0 Y8 O% a. q7 E$ {# Z
    else
# y* A6 ]+ T) `  q        j=j-1;1 E2 L: [! C0 q; P  P3 t9 k- n. Y$ m
    end;) g! F3 u( X; Z& ?# L5 F
  end;
- @5 s- B) V& s6 ?3 y& g按我的理解应该是死循环,可是运行,显示j=5 后结束运行
+ v( O' T4 X* r' X  L4 Y. f对于for j=1:5   , j=j-1;起不起作用,  n4 M6 N; M1 y3 G! ^
如不起作用,有什么方法可实现同样的目的(产生无对随机数,其和小于1)?
作者: madio    时间: 2008-12-15 14:18
j=1;
. O4 t' i% v' ?# V" Nwhile j<=5
; M8 M+ D3 B" T* n7 E4 Z2 }. `# q     j
4 c! C: u3 z0 d& ~& r     x=rand();
& g! e' }$ B. Q% H     y=rand();7 K% i+ K" A) F2 M7 {
    if (x+y)<1
: ]* \: k2 J) v2 ^: H9 g     [x,y]0 H7 `; \  g  }. v% H6 y
     e=e+1;
* v# ^; {# O) @" f. c; e9 S     j=j+1;
& n6 S! H5 r& C8 ~    end;
! a& L! ?$ |% |2 N  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是基于向量运算的5 Q  p! ]4 N7 u5 S; l& c3 m





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