数学建模社区-数学中国
标题:
急啊!!!matlab程序一直死循环不知道什么原因。
[打印本页]
作者:
qiandongdong
时间:
2014-8-21 21:15
标题:
急啊!!!matlab程序一直死循环不知道什么原因。
如题。
2 c: t }' K* }8 K9 I, G- C
主程序:
7 p9 _3 T* G* w7 X
global a
k. h0 k/ ]7 O, D, A
jg=[];c=[];a=xlsread('dytjg.xls');r=a;
3 m$ f3 l4 G9 U C9 @/ w
for i=1:80
8 R& e% [% M. k: t6 R9 v
[g,t]=fxjd(i);
8 F8 m0 c: o2 Z7 ?5 v, H2 u# @1 {. W9 n
lg=1;
/ @9 e, C [5 E& d) B+ [
[kl,k]=find(a==i);
; n& @& F( ]) M! I
a(:,k)=0;
1 N$ Q2 T% g1 {/ d. i0 o
for q=1:t
. _( p. Z5 w& j# t
gg=g(q);
- c- W1 Q' g3 p6 g
b=[];j=1;
& I m5 e% U# }1 n% B- E) Z
while j<=lg
7 l" I* O5 b: I1 f) v; H+ g
b=gg(j);ut=0;
% w+ l# p; c5 y1 y5 S! M
[p,ut]=fxjd(gg(j));
, u, l; H0 K" o* |) F! }* d
l=1;
/ l8 u( l4 K, a2 \ A4 [0 ]
while l<=ut
) R9 _' l/ k2 g$ Y( ^
js=find(b==p(l));
& y) c. }1 g" R& ?- X
if isempty(js)
' m |7 r' M% R8 \# D: N8 h
b=[b,p(l)];
+ e* s, s; R B3 E7 a, u8 R
gg=[gg,p(l)];
K3 J4 r! Z9 L6 x
lg=lg+1;
, D9 X7 a0 \" g$ {
end
& w9 ~6 w: T# u( n8 L+ R
l=l+1;
. l' R7 @ I& r5 k; d% Z0 |
end
9 c' i# ^ A3 A$ \+ E6 P1 `
j=j+1;
1 e8 n# h/ g2 L/ O; G3 @
end
! b$ b9 i, n: {& m& H G
c=[c,length(b)];
) F$ p2 o- h9 ~2 c# q
lg=1;
8 G0 u; D/ B' r4 f& j g+ k7 F
t=t+1;
; ?% C! X4 _# X
gg=[];
" o* C" l/ _* D2 L) s' Q
end
# v& j K: D/ E( h2 j; W7 O r
uu=max(c);
Q0 K6 S- @9 K5 m
c=[];
/ U1 p" h" b) F
if (uu/79.0)<0.9
6 D( u* k! O& i3 p$ t
jg=[jg,i];
+ }$ c" x- u& @
end
* b, ^, D" ]+ D# v2 ^
a=r;
5 V7 a8 K$ r6 [8 b: N0 @
end
* D* M' m3 J4 e8 [& u
函数:
6 j* L' I2 d; P! b. ?* G: z
function [y,x1]=fxjd(x);
2 \* K$ u; e8 R' B3 z. |3 [" d$ @
global a
" C* p# D$ S! g8 p2 n# Z4 ]( M7 T9 T
[p,l]=find(a==x);
7 Z7 A, h- c6 |& r5 E2 [
x1=length(p);
6 c0 [1 Q" T0 B3 D" A
for o=1:x1
+ Z+ R- u5 ^, _: Y% n ?3 e
if p(o)==1
2 H2 D1 a# ~: c; J# L
y(o)=a(2,l(o));
, j, s @* i: W4 g% U% K" ~
else
3 k9 j% r' M: M8 r8 j# |
y(o)=a(1,l(o));
% Y2 `- D7 K4 R
end
8 P1 h; l& b0 h' C
end
! i: B, o, [7 ?. V3 ?
if isempty(p)
: [0 J+ E5 W9 z* P/ M) D( B
y=[];x1=[];
4 {+ H% G+ w9 ?+ ]( h. y' c7 k
end
% E4 ?( n, f1 f7 |4 O+ m
( R5 ~( o( Y. e; L! w" U
matlab软件提示‘gg=[gg,p(l)];’这句有问题,但是不懂什么意思,求助前辈们,希望能帮帮忙。
9 ^$ O0 V1 E4 {3 C
4 O7 g. j! q3 w# ?' I" M4 _' D
7 F ~* H* W3 |
; a/ G4 b5 X2 I9 K
作者:
madio
时间:
2014-8-22 10:36
你把数据文件也传上来,要不没法实验,你这个是做什么的程序?出现死循环就一定是while循环出的问题,你可以把某句后面的分号去掉,这样就可以显示一些中间变量的值,你就可以知道哪里出了问题
作者:
qiandongdong
时间:
2014-8-22 18:20
是做一个遍历树的程序,不过已经解决了,那个去分号的办法确实不错,谢谢哈~
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5