if statement for a matrix

2 visualizaciones (últimos 30 días)
Darpan Verma
Darpan Verma el 11 de Mzo. de 2019
Respondida: Darpan Verma el 11 de Mzo. de 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

Respuesta aceptada

Star Strider
Star Strider el 11 de Mzo. de 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.

Más respuestas (2)

Alex Mcaulley
Alex Mcaulley el 11 de Mzo. de 2019
You don't need the loop, just using logical indexing:
plot(x(x>10&x<25),y(x>10&x<25))

Darpan Verma
Darpan Verma el 11 de Mzo. de 2019
Thanks guys.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by