whdwpy666 发表于 2014-10-14 11:27

matlab如何跳出多重循环

clear all
close all
clc
a=;
b=mean(a);
flag1=0;flag2=0;flag3=0;
for i=1:10
   if flag1==1
      break;
    end
   for j=i:15
      if flag2==1
      break;
    end
       for k=j+1:15
            if flag3==1
      break;
    end
         if 2*j==i+k;
               if abs(b-6)>0.2;
                   if mean(a)<6
                     a(j)=(a(i)+a(k))/2;
                   else
                     a(j)=-(a(i)+a(k))/2;
                   end
                   b=mean(a);
               else
                   c=i;
                   d=j;
                   e=k;
                   flag1=1;
                   flag2=1;
                   flag3=1;
               end
         end
       end
   end
end
这个循环应该算到i =1 j=7 k=13 就结束,但是我的程序不是到这结束,又往下算了几个循环才结束。我想请问如何在满足i =1 j=7 k=13 的时候完全跳出循环。谢谢!


blackdot 发表于 2014-10-14 11:42

for j=i:15
      if flag2==1
      break;
    end
       for k=j+1:15
            if flag3==1
      break;
    end
j的循环有问题, for j=i:15 如果循环到15才break; 后面的 for k=j+1:15就会出问题
页: [1]
查看完整版本: matlab如何跳出多重循环