extracting a range of values from a vector

I have an array indx = [ 1 7 4 8 11 6 3] and I need to extract from 1 (minimum) to 4 (maximum) of the actual value (Not the index!) of the elements of indx and put them into another array indx_w (wich results in this case = [1 3 4])
How to do it?
indx_w = ????
thanks!

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 18 Nov 2020
Modifié(e) : Ameer Hamza le 18 Nov 2020
You can use logical indexing
indx = [ 1 7 4 8 11 6 3];
lb = 1;
ub = 4;
mask = (indx >= lb) & (indx <= ub);
indx_w = indx(mask)
If you also want the output to be sorted
indx_w = sort(indx_w)

2 commentaires

I've found something even easier:
indx_w = indx(indx >= 1 & indx <= 4)
:)
HabenG
HabenG le 1 Déc 2021
Clutch!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by