help-gsl
[Top][All Lists]

## Re: [Help-gsl] gsl_linear_interp example

 From: Daniel J Farrell Subject: Re: [Help-gsl] gsl_linear_interp example Date: Wed, 6 Jun 2007 23:39:12 +0100

```Hello,

Ended up figuring it out.

Cheers,

Dan.

For future reference:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <gsl/gsl_interp.h>

int main (void)
{
//sample data
double x[4] = { 1970, 1980, 1990, 2000 };
double y[4] = {   12,   11,   14,   13 };

//inialise and allocate the gsl objects
```
gsl_interp *interpolation = gsl_interp_alloc (gsl_interp_linear,n);
```      gsl_interp_init(interpolation, x, y, n);
gsl_interp_accel * accelerator =  gsl_interp_accel_alloc();

//get interpolation for x = 1981
```
double value = gsl_interp_eval(interpolation, x, y, 1981, accelerator);
```
printf("\n%g",value);

//output:
//11.3

return 0;
}

On 6 Jun 2007, at 14:42, Daniel J Farrell wrote:

```
```Hello,

```
I am trying to find example code on how to do a linear interpolation. So far I can allocate and initalise the gsl_interp object, but I get a bit stuck when I need to query it for interpolation values; do I have to use an accelerator?
```

Regards,

Dan.

___

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <gsl/gsl_spline.h>
#include <gsl/gsl_interp.h>

int main (void)
{
unsigned n = 4;
double x[n] = { 1970, 1980, 1990, 2000 };
double y[n] = {   12,   11,   14,   13 };

//interpolation
gsl_interp *interp = gsl_interp_alloc(gsl_interp_linear,n);
gsl_interp_init(interp, x, y, n);

//get interpolation for x = 1981 here...

gsl_interp_free(interp);
return 0;
}

_______________________________________________
Help-gsl mailing list
```