help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] Question about interpolation


From: eknecronzontas
Subject: Re: [Help-gsl] Question about interpolation
Date: Tue, 23 Oct 2007 09:06:16 -0700 (PDT)

Instead of using accel_find, consider using gsl_interp_bsearch.  
The documentation in gsl-1.10/interp/bsearch.c for this 
function is given below. 

It is also simple to rewrite the accel_find function slightly,
as I did in C++ for O2scl at 
http://o2scl.sourceforge.net/o2scl/html/search__vec_8h-source.html

Take care,
Andrew

/*
 * Note that this means the relationship of 'x' to x_array[index]
 * and x_array[index+1] depends on the result region, i.e. the
 * behaviour at the boundaries may not correspond to what you
 * expect. We have the following complete specification of the
 * behaviour.
 * Suppose the input is x_array[] = { x0, x1, ..., xN }
 *    if ( x == x0 )           then  index == 0
 *    if ( x > x0 && x <= x1 ) then  index == 0, and sim. for other interior 
pts 
*    if ( x == xN )           then  index == N-1
 *    if ( x > xN )            then  index == N-1
 *    if ( x < x0 )            then  index == 0
 */



----- Original Message ----
From: Daniel J Farrell <address@hidden>
To: address@hidden
Sent: Tuesday, October 23, 2007 8:26:49 AM
Subject: [Help-gsl] Question about interpolation


Hello,

I am using gsl_interp.h functions to look-up the index of a C array  
which is the nearest to the value, x. However if the value of the x  
is the maximum value of the array GSL doesn't find it correctly.

Example,

double array[5] = {1,2,3,4,5};

gsl_interp_accel *a = gsl_interp_accel_alloc();
unsigned index = gsl_interp_accel_find (a, array, 5, 5);

//index = 3

This is because (as the docs state, http://www.gnu.org/software/gsl/ 
manual/html_node/Index-Look_002dup-and-Acceleration.html) the value x  
must fall into a bin which has the lower value LESS THAN EQUAL TO and  
an upper value LESS THAN x.

How can I get a return index = 4?

Cheers,

Dan.




_______________________________________________
Help-gsl mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/help-gsl







reply via email to

[Prev in Thread] Current Thread [Next in Thread]