Matlab编程解疑!如何跳出for循环!

T_jiange=5;A=[randperm(23)];CT(2,1)=0;T_wait(1,1)=0;fori=2:23CT(2,i)=0;T_wait(1,i)=0;... T_jiange=5;
A=[randperm(23)];

CT(2,1)=0;
T_wait(1,1)=0;
for i=2:23
CT(2,i)=0;
T_wait(1,i)=0;
for j=i-1:1
if A(1,i)>=A(1,j)
T_wait(1,i)=T_wait(1,j)+10-(i-j)*T_jiange;
if T_wait(1,i)<=0
T_wait(1,i)=0;
CT(2,i)=0;
else
CT(2,i)=1;
T_wait(1,i)=T_wait(1,j)+10-(i-j)*T_jiange;
end
break;
else
CT(2,i)=0;
end

end
end

T_wait,CT,A
程序如上,T_wait计算 结果与预想中的有些出入,主要问题是在执行
if T_wait(1,i)<=0
T_wait(1,i)=0;
CT(2,i)=0;
else
CT(2,i)=1;
T_wait(1,i)=T_wait(1,j)+10-(i-j)*T_jiange;
end
这个语句之后,程序是应该跳出 for j=i-1:1这个循环的,但是我的只是跳出了if循环,这个怎么实现,急求,跪谢!
展开
 我来答
匿名用户
推荐于2016-02-04
展开全部

没看明白你的意思。【程序是应该跳出 for j=i-1:1这个循环的,但是我的只是跳出了if循环】,if根本就不是循环,当然也就谈不上跳出。

 

break的作用是结束forwhile循环,对于嵌套的循环,break只会结束最靠近它的那一层。

 

从你的代码而言,有for i=2:23for j=i-1:1两层循环,当满足条件A(1,i)>=A(1,j)时会执行break,也就相应地跳出内层的for j=i-1:1循环。不知道你到底要实现什么?

更多追问追答
追问
如果语句执行的是if A(1,i)>=A(1,j) 执行玩之后就让他直接跳出for j=i-1:1循环,这样可以吗,或者可以实现这种情况吗,就是在break那个地方添加一个语句什么的让他直接调到for j=i-1:1这一句执行
追答

如果语句执行的是if A(1,i)>=A(1,j) 执行玩之后就让他直接跳出for j=i-1:1循环】,现在就是这样执行的。

在break那个地方添加一个语句什么的让他直接调到for j=i-1:1这一句执行】,这个要求没太看明白——到底是跳出这个循环,还是继续这个循环?

maoxuchen000
推荐于2018-04-30 · TA获得超过1.5万个赞
知道大有可为答主
回答量:3286
采纳率:78%
帮助的人:493万
展开全部
【程序是跳出 for j=i-1:1这个循环的,但是只是跳出了if循环】。
if根本就不是循环,当然也就谈不上跳出。

break的作用是结束for或while循环,对于嵌套的循环,break只会结束最靠近它的那一层。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-14
展开全部
用break,跟C语言一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c39a35530
2014-03-14 · TA获得超过1046个赞
知道小有建树答主
回答量:558
采纳率:0%
帮助的人:281万
展开全部
用break啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式