数学建模社区-数学中国

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

作者: tgnian    时间: 2008-12-14 22:50
标题: 对于for j=1:5 , j=j-1;起不起作用
for j=1:5
8 v0 q, `- t' H/ i     j2 R# p; Y+ F+ N7 w& r! D
     x=rand();
! m2 R2 d4 A5 ^+ C- Y     y=rand();+ G! a. N! g+ y0 c; d
    if (x+y)<1
6 }9 i. I! z# N! ?; f     e=e+1;
$ i! c" I; W! x; u2 l6 B    else
' u* _' m# Y# X, I        j=j-1;
1 A$ O/ J6 H( Q% T' i% W    end;
( l, R( T5 ]3 E* l  end;
+ l, J4 Z: I' r, M+ g! Q其中else好像没起作用,因改成4 J1 m. U+ n5 I' o6 I' v& @
for j=1:5
  R& Y. _# ]: F! {2 O. Z% B* Z1 W     j' u: {9 z6 h4 m: z
     x=12;% n  e5 k  u, F7 W: q
     y=12;
, o) T0 q  b2 O9 G6 c4 p    if (x+y)< 1# v6 _; l6 p( d6 W2 q" s
      e=e+1;
7 N$ Z5 f. Y9 M. i    else
6 u4 p' m9 S6 P        j=j-1;
3 p9 E9 d6 Y3 ?& a# Q5 }    end;; {# ?. Z- B! a+ s
  end;
/ K. D3 p: z& w+ @0 |按我的理解应该是死循环,可是运行,显示j=5 后结束运行2 _, d9 h- X  X1 @( H
对于for j=1:5   , j=j-1;起不起作用,
' Y; t& a+ p! z) ~. M3 B如不起作用,有什么方法可实现同样的目的(产生无对随机数,其和小于1)?
作者: madio    时间: 2008-12-15 14:18
j=1;
* e8 Q/ }2 [+ |while j<=5
8 s* s# T9 F3 z     j
! q' h5 O3 s8 }2 B. v, F! j1 g     x=rand();" p) g: G$ B0 G+ G& I; t
     y=rand();
2 j2 o4 M9 e1 f$ Y  w; W2 g7 t    if (x+y)<17 b) C8 Q+ t9 M! q& ^0 x6 q* o
     [x,y]
8 o' j2 m! u- I- T' p     e=e+1;
! E5 M) }7 \8 K* W+ t2 Y. ?     j=j+1;
" W8 R+ ]. v6 i' {    end;
7 X" M1 }# A/ S  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 m" R% @$ T( ]5 \- V




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