if statement for a matrix
    3 views (last 30 days)
  
       Show older comments
    
    Darpan Verma
 on 11 Mar 2019
  
    
    
    
    
    Answered: Darpan Verma
 on 11 Mar 2019
            Hi my x-axis is a 1x72 matrix having values from 1 to 72. 
y axis values are again 1x72 matrix having data values.
I want the "if loop" to go on for only those x values which are between 10 and 25, and plot x vs y for only those selected values (y axis data values corresponding to the values between 10 to 25). Could you please evaluate my code.
for i = 1:length(x)  
if (x>10) && (x<25)
   plot(x,y)                  
end
end
0 Comments
Accepted Answer
  Star Strider
      
      
 on 11 Mar 2019
        Use ‘logical indexing’: 
x = 1 : 72;
y = rand(1, 72);
mv = (x>10) & (x<25);
figure
plot(x(mv), y(mv))
grid
xlim([min(x)  max(x)])
Experiment to get the result you want.  
0 Comments
More Answers (2)
  Alex Mcaulley
      
 on 11 Mar 2019
        You don't need the loop, just using logical indexing:
plot(x(x>10&x<25),y(x>10&x<25))
0 Comments
See Also
Categories
				Find more on Loops and Conditional Statements in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
