Rewrite for loop with find function

The question:
  1. See the following code. Rewrite the code in one line using the find function.
x=[-1 3 7 2 4 0];
v=[];
for i=1:length(x)
ifx(i)<=2
v=[v, x(i)];
end
end
I have tried x=[-1 3 7 2 4 0]; find(x<=2)
which returns 1 4 6. What I need it to display is -1 2 0
How would I do this? thanks!

Risposte (1)

The function find returns the indeces according to the condition. So, in order to diplay the values, you might use the following:
x(find(x<=2))
Here is more information.

4 Commenti

I tried that and it doesnt work unfortunately and the link to more information is broken
Thanks for leading me in the right direction. I used x=[-1 3 7 2 4 0]; x(find(x<=2)) and it worked
Erivelton Gualter
Erivelton Gualter il 18 Nov 2019
Modificato: Erivelton Gualter il 19 Nov 2019
I fixed the link. It is just the find document. Glad it worked.
If it was helpful, please accept the answer.
"find" is redundant here. You can just use
x(x<=2);

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

il 18 Nov 2019

Commentato:

il 19 Nov 2019

Community Treasure Hunt

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

Start Hunting!

Translated by