EDA365电子论坛网

标题: Matlab有关for循环的优化问题 [打印本页]

作者: justlikethisis    时间: 2021-3-22 14:25
标题: Matlab有关for循环的优化问题
zz=rand(100,30000);
" [( o; r" ~* }9 ]1 ~' d3 b* D0 X[h,n]=size(zz);
& H% s, r6 T$ ?for i=1:h
6 \  ], Q. s* w; h    z=zz(i,;);; ]1 Z3 a9 _+ c9 c
    for i=1:n+ G7 b5 {" K9 m. p" G
        for j=1:n
- o- @/ ?4 L# {$ Y* t. u             r(i,j)=abs(z(i)-z(j));
/ A' y  G# d5 L2 e4 }        end1 M& p& ?! K) x& q, ~
    end
, n. W& F) F, m4 F* \9 d/ F1 k( R   rm=max(r);3 {9 A. b& x9 H) K0 d
   rmax=max(rm');
2 y( \+ a+ s$ U% s   R=rmax+pp/2+(pp*3/2-rmax)*rand(1,1);
. P/ K/ N- k& c7 W3 C. t   A=r(find(r<=R));
4 d* A* ]9 A4 Q1 h1 D3 B   a=length(A);
1 [8 c& J$ j/ A% f, c   B=sum(A);$ L% ^6 \% r" B/ T7 |8 S
   Dz(k)=a*R-2*B;
. d$ V+ G) z8 E   k=k+1;      ( B1 q4 j9 U) s& W4 r
end9 p8 b, c% n* D4 e1 H0 @
这段程序循环的层数太多,非常的耗时,能有什么办法把时间降下来吗?
- s* a! a* N9 S& \: h# j

作者: modengxian111    时间: 2021-3-22 15:01
速度慢不在于循环层数多,而是你矩阵太过巨大




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2