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

 채택된 답변

Star Strider
Star Strider 2022년 8월 17일

1 개 추천

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

AAZ
AAZ 2022년 8월 17일
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
.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기

질문:

AAZ
2022년 8월 17일

댓글:

2022년 8월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by