please help me with this break
    2 views (last 30 days)
  
       Show older comments
    
    arsalan mehrabi
 on 3 Dec 2020
  
    
    
    
    
    Commented: Star Strider
      
      
 on 6 Dec 2020
            hi,i wrote this code:
syms f te t1 p2 t2 t3 p3 p4 t4 t5 f1 t6
              for f= 0.035:0.001:0.06
     for te= 1800:1:2500     
 t1=(1-f)*300+f*(1-((1-50)/100)*((1.3-1)/1.3))*te
 p2=50*(10)^1.3
 t2=t1*10^0.3
 t3=t2+2500*(1-f)/0.775
 p3=p2*(t3/t2)
 p4=p3*(1/10)^1.3
 t4=t3*(1/10)^0.3
 t5=t4*((p4/100)^(0.3/1.3))
 f1=((100/p4)^(1/1.3))/10
 t6=(1-f1)*300+f1*(1-((1-50)/100)*((1.3-1)/1.3))*t5
 if  ((abs((t6-t1)/t1)*100)<3) && ((abs((f-f1)/f)*100)<3) && ((abs((te-t5)/te)*100)<3)
         table(t1,t6,f,f1,te,t5)
   break
 end
     end   
              end
 i want it to stop at certain point so i used Break but it continued and didin't break.
why?
1 Comment
  Image Analyst
      
      
 on 3 Dec 2020
				Please highlight your code in MATLAB and type control-a (to select all) then control-i (to properly indent it).  Then paste it back here and highlight it and click the "Code" icon on the tool ribbon.  this will ensure your code doesn't look like a total mess to us and will make it easy for us to copy into the clipboard.  Also be sure to see Start Strider's Answer below.
Accepted Answer
  Star Strider
      
      
 on 3 Dec 2020
        You have two nested loops.  The break command will only break out of the inner loop, the one it is called in.  
A simple example — 
for k1 = 1:6
    for k2 = 1:4
        k_2 = k2;
        fprintf('\t\tk_2 = %d\n', k_2)
        if k2 > 2 
            break
        end
    end
    fprintf('k1 = %d\tk2 = %d\n', k1, k_2)
end
.
4 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

