if statement for a matrix

3 ビュー (過去 30 日間)
Darpan Verma
Darpan Verma 2019 年 3 月 11 日
回答済み: Darpan Verma 2019 年 3 月 11 日
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

採用された回答

Star Strider
Star Strider 2019 年 3 月 11 日
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.

その他の回答 (2 件)

Alex Mcaulley
Alex Mcaulley 2019 年 3 月 11 日
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 2019 年 3 月 11 日
Thanks guys.

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by