whdwpy666 发表于 2014-10-26 17:00

matlab多重循环优化


这是我程序中的一段多重循环,循环时间很长,之前看了论坛发现有向量化、find、meshgrid等发放可以优化多重循环,请各位坛友帮忙看看我的这段程序应该怎么优化。
Z = zeros(ch,n);
rdtheta = rand(1,n)*2*pi;
d=weisuiji(ran,rdtheta,R2);
                Kw=kurtosis(d)-3;
                flag1=0;flag2=0;flag3=0;
                for ii=1:n
                  if flag1==1
                      break;
                  end
                  for jj=ii+1:n
                        if flag2==1
                            break;
                        end
                        for kkk=jj:n
                            if flag3==1
                              break;
                            end
                        if kkk==ii+2*jj
                            if abs(Kw-Kp)>0.1
                              if Kw<Kp
                                    rdtheta(kkk)=rdtheta(ii)+2*rdtheta(jj);
                              else
                                    rdtheta(kkk)=rdtheta(ii)+2*rdtheta(jj)-pi;
                              end
                                  d=function()
                                  Kw=kurtosis(d)-3;
                            else
                              flag1=1;
                              flag2=1;
                              flag3=1;
                            end
                        end
                     end
                   end
               end


页: [1]
查看完整版本: matlab多重循环优化