声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1649|回复: 1

[编程技巧] matlab如何跳出多重循环

[复制链接]
发表于 2014-10-14 11:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
clear all
close all
clc
a=[10 9 8 7 6 5 4 3 2 1 10 9 8 7 6];
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 的时候完全跳出循环。谢谢!


回复
分享到:

使用道具 举报

发表于 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就会出问题
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 15:31 , Processed in 0.061979 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表