if statement for a matrix
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Darpan Verma
am 11 Mär. 2019
Beantwortet: Darpan Verma
am 11 Mär. 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 Kommentare
Akzeptierte Antwort
Star Strider
am 11 Mär. 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 Kommentare
Weitere Antworten (2)
Alex Mcaulley
am 11 Mär. 2019
You don't need the loop, just using logical indexing:
plot(x(x>10&x<25),y(x>10&x<25))
0 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!