MATLAB Answers

How to use multiple break statments

조회 수: 2(최근 30일)
Muhammad Qaisar Fahim
Muhammad Qaisar Fahim 2021년 7월 14일
편집: Muhammad Qaisar Fahim 2021년 7월 14일
In the below code if any of the error goes below the limit the loop break. But I want to break the loop if all of the conditions errors are below the defined limits. How can I modify this piece of code.
for i = 1:100
if(sln2.Error<=1)
break
else
% Update weights
Ext.W22=beta*Ext.W22;
Ext.W22List(i) = Ext.W22;
end
%% Convergance Check sub 2
sln3.Error=max(abs(Ext.P_gen_scaling-Ext.P_gen_scaling_3));
SLN3(i)=sln3;
if(sln3.Error<=0.1)
break
else
end
  댓글 수: 4
Muhammad Qaisar Fahim
Muhammad Qaisar Fahim 2021년 7월 14일
Please consider this below code
for i=1:100
if(sln2.Error<=1)
break
else
% Update weights
Ext.W22=beta*Ext.W22;
Ext.W22List(i) = Ext.W22;
end
%% Convergance Check sub 2
sln3.Error=max(abs(Ext.P_gen_scaling-Ext.P_gen_scaling_3));
SLN3(i)=sln3;
if(sln3.Error<=0.1)
break
else
% Update weights
Ext.W23=beta*Ext.W23;
Ext.W23List(i) = Ext.W23
end
end

댓글을 달려면 로그인하십시오.

채택된 답변

David Hill
David Hill 2021년 7월 14일
for i = 1:100
if ~(sln2.Error<=1)
Ext.W22=beta*Ext.W22;
Ext.W22List(i) = Ext.W22;
end
sln3.Error=max(abs(Ext.P_gen_scaling-Ext.P_gen_scaling_3));
SLN3(i)=sln3;
if (sln3.Error<=0.1)&&(sln2.Error<=1)
break;
end
end
  댓글 수: 1
Muhammad Qaisar Fahim
Muhammad Qaisar Fahim 2021년 7월 14일
Thanks alot this worked . But later on if I have more than 2 statments then I need to add 2nd &&?

댓글을 달려면 로그인하십시오.

추가 답변(1개)

Jan
Jan 2021년 7월 14일
for i = 1:100
Ext.W22 = beta * Ext.W22;
Ext.W22List(i) = Ext.W22;
%% Convergance Check sub 2
sln3.Error = max(abs(Ext.P_gen_scaling - Ext.P_gen_scaling_3));
SLN3(i) = sln3;
if (sln3.Error <= 0.1) && (sln2.Error <= 1)
break
end
end
  댓글 수: 1
Muhammad Qaisar Fahim
Muhammad Qaisar Fahim 2021년 7월 14일
Thanks Jan. Your recommendation worked for me

댓글을 달려면 로그인하십시오.

태그

제품


릴리스

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by