数学建模社区-数学中国
标题:
对于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; \
j
7 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
j
3 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