closest value to zero excluding the first one?

1 view (last 30 days)
If given a long vector of values. How can I find the index of the closest value to zero excluding the first value of the vector out of our list of stuff to search for
  2 Comments

Sign in to comment.

Accepted Answer

Ali Almakhmari
Ali Almakhmari on 12 Jan 2023
"dis_y" being the variable:
I = find(diff(dis_y>=0),1);
  1 Comment
Bruno Luong
Bruno Luong on 12 Jan 2023
That is NOT your question asks for, that is first consecutive points where 0 is cross from positive to negative.

Sign in to comment.

More Answers (2)

Torsten
Torsten on 12 Jan 2023
Edited: Torsten on 12 Jan 2023
out of our list of stuff to search for
?
v = [-0.1 2 4 -0.5 8];
[~,i] = min(abs(v(2:end)))
i = 3
v(i+1)
ans = -0.5000
  3 Comments
Ali Almakhmari
Ali Almakhmari on 12 Jan 2023
Actually I found the solution: I = find(diff(dis_y>=0),1);

Sign in to comment.


Bora Eryilmaz
Bora Eryilmaz on 12 Jan 2023
Edited: Bora Eryilmaz on 12 Jan 2023
load('var.mat')
[~,I] = sort(abs(dis_y), 'ascend');
% Closest value to 0:
dis_y(I(1))
ans = 2.3761e-05
% Second closest value to 0:
dis_y(I(2))
ans = -0.0014

Community Treasure Hunt

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

Start Hunting!