I have a set of data containing x,
How can i extract only the first value greater than x in this set.

 Réponse acceptée

Star Strider
Star Strider le 17 Août 2022
Try simething like this —
v = randi(9, 1, 20)
v = 1×20
5 4 2 5 2 6 7 2 6 6 3 8 5 8 7 4 7 4 8 7
x = 7
x = 7
first_x_idx = find(v > x,1,'first')
first_x_idx = 12
Result = v(first_x_idx)
Result = 8
.

2 commentaires

AAZ
AAZ le 17 Août 2022
I have v=[-0.1011 -0.0712 -0.0562] , and x=-0.0599, so i try to use the code above but it give for the first value lower than x is -0.1011 but i want -0.0721.
So how can i solve it
I am confused. I am not certain what you want.
I am not certain how robust this will be for other vectors, however here it gives the result you want —
v = [-0.1011 -0.0712 -0.0562];
x = -0.0599;
first_x_idx = interp1(v,(1:numel(v)),x,'previous')
first_x_idx = 2
Result = v(first_x_idx)
Result = -0.0712
.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Images dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by