数学建模社区-数学中国

标题: 对于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+ e8 }# z* ~; D1 y
     j
  A9 W( ]8 N& S, C- @8 O     x=rand();: @% _5 Z* s+ t6 Q  ?" Q5 z' b
     y=rand();
( r% Y# D) M. j' X+ v) `8 Y( \    if (x+y)<1
& g* O& e+ d2 Y     e=e+1;
9 U! ]- X! x( V" g( H; c/ H    else
" p1 s% b: N& _# J4 B1 \5 X" e        j=j-1;2 X9 N5 N; ^0 s$ f! H
    end;( D6 x( M- Y& j& p
  end;
2 G, P: l% X5 P$ L4 s$ A" U$ e其中else好像没起作用,因改成3 [. D4 n7 s8 J. k
for j=1:5
9 h" L$ l4 G/ \2 [     j
1 ~  ^1 d8 h- d' [' ]     x=12;
$ n& e+ b, L4 K- M$ u4 p     y=12;
9 @6 @( w$ O8 Z# i  l5 w: z/ K" f    if (x+y)< 1& J, ~' U5 s' T( p/ h. b
      e=e+1;
. E8 q1 A  A6 `7 \    else0 ?# I! ~8 R) B/ ^
        j=j-1;
6 M$ a. {( O+ ?) N' C  {$ U    end;; W+ x. X& D3 M/ z8 j
  end; ) L$ @% ?2 }' h. y* X
按我的理解应该是死循环,可是运行,显示j=5 后结束运行
% O5 X  ~) q# y* |1 ?4 x+ @对于for j=1:5   , j=j-1;起不起作用,
4 K4 x! V% ^8 a& Q, ~如不起作用,有什么方法可实现同样的目的(产生无对随机数,其和小于1)?
作者: madio    时间: 2008-12-15 14:18
j=1;
! H: t  O" k) G6 q( X0 bwhile j<=5
% F* o0 V' u! Q# e# q     j7 y* @* E  D  U* _: h
     x=rand();
6 W& `/ w* P1 X; k" p+ ~% g     y=rand();
. t; s' U, i; ~, I, [3 r/ J8 u0 q    if (x+y)<1; G2 ]3 I) C+ N/ H! s% e
     [x,y]
0 d3 w$ l: A3 [7 w     e=e+1;1 b$ L$ E  V" }( U# `9 g4 u
     j=j+1;
' z4 r0 `. G! [8 z4 y    end;
2 ?) g4 T$ Z+ J5 P7 w  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是基于向量运算的% G0 _* f0 [/ ^' w& Z1 f0 R' ?( \! q, n





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