File Exchange

## Find values in a vector or function

version 1.5 (1.69 KB) by

For a function y=f(x), this script looks for all the "x" values for a desired value of "y" (y0).

Updated

Given a desired value "y0", this function finds all the elements "y" in a vector whose values are the closest to "y0" in the whole vector, and also the positions "xi". So, the output is a set of points [xi,y0] given in two vectors, one for the values and another one for the positions.
The inputs are:
-Vector.
-Value that you want to find in the vector "y0".

The outputs are:
-The closest values to "y0" in the function (by means the real "y" values).
-The position "xi" of those "y" values.

I hope it is useful for all of you. If you have any suggestion, please, tell me.

Thanks, I appreciate your feedback. I have solved that just yielding the closest value of those in the vector.

Anyway, this is a very simple function. I am sure it can be optimized a lot, but it works very well for my purposes and I decided to share it with the people. I do not know how the "experts" in Matlab deals with this, but I need to use this function in almost everything I do... :)

Again, thanks for helping me to improve :)

arnold

### arnold (view profile)

If I understand correctly your function can only find anything if there is at least one value <= AND one >= y. This is not necessarily the case for any given function. This is suboptimal. The function should always find at least the nearest value. imho