[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-gsl] Getting the index of a sorted vector entry closest to a certa
From: |
Luke |
Subject: |
[Help-gsl] Getting the index of a sorted vector entry closest to a certain value |
Date: |
Tue, 8 Jun 2010 13:31:29 -0700 |
I have a gsl_vector whose values are evenly space from -M_PI to M_PI.
I am using the GSL single dimensional root finding algorithm on a
single equation which gives me a value that is in the range of [-M_PI,
M_PI], but won't be exactly equal to any of the elements. My goal is
to find the index of the element in my gsl_vector which is closest to
the solution from the root finding algorithm. Here is an illustration
of situation:
v = {-1.0, -0.5, 0.0, 0.5, 1.0}
x_star = 0.3
Since the entry of v closest to x_star is 0.5, the index I would want
to obtain is i = 3.
I would imagine the function call to be something like:
i = get_nearest_index(v, x_star);
I can easily see how I would use a for loop from i = 0 to N, but I was
wondering if perhaps this code has already been implemented within GSL
more efficiently using other searching algorithms, like some sort of
binary search or something.
Also, is there a function already in GSL which generates evenly space
vectors? A C equivalent of the Octave/Matlab v = 0:0.01:1 or
linspace(0, 1, 101). If not, is there interest in these being
implemented and included in the gsl_vector library?
Thanks,
~Luke
- [Help-gsl] Getting the index of a sorted vector entry closest to a certain value,
Luke <=