How to return a specific index of a vector?

The problem I have here is that I want to return the index of the next point. If I input find_next_point(1, [6 7 8 9], x, y) the code returns everything I want except it displays that the next point is point 1 rather than 6 (which is the next point). I understand that this is just displaying the index from the vector [6 7 8 9] and returning that it is the first number in the vector, but how can I make it display the actual number instead e.g. 6 Hope this makes sense
function [next_point, distance] = find_next_point(current_point, points_to_check, x, y)
distance = compute_distance(current_point, points_to_check, x, y) %find all distances in array
[smallest_distance, next_point] = min(distance) %find smallest of these distances
end

 Accepted Answer

current_point(next_point)

4 Comments

Can this be placed into the function somewhere?
function [next_point, smallest_distance] = find_next_point(current_point, points_to_check, x, y)
distance = compute_distance(current_point, points_to_check, x, y) %find all distances in array
[smallest_distance, idx] = min(distance) %find smallest of these distances
next_point = current_point(idx);
end
Thank you, it's working. I had to change it to:
next_point = points_to_check(idx)
since the input current_point was an array of 1 element and I was getting an error of index exceeds the number of array elements.
Really appreciate your time and help!
Oh, right, that makes sense.

Sign in to comment.

More Answers (0)

Products

Release

R2021a

Tags

Community Treasure Hunt

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

Start Hunting!