summaryrefslogtreecommitdiff
path: root/gsl-1.9/doc/examples/interp.c
diff options
context:
space:
mode:
Diffstat (limited to 'gsl-1.9/doc/examples/interp.c')
-rw-r--r--gsl-1.9/doc/examples/interp.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/gsl-1.9/doc/examples/interp.c b/gsl-1.9/doc/examples/interp.c
new file mode 100644
index 0000000..5c6e8fc
--- /dev/null
+++ b/gsl-1.9/doc/examples/interp.c
@@ -0,0 +1,41 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <math.h>
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_spline.h>
+
+int
+main (void)
+{
+ int i;
+ double xi, yi, x[10], y[10];
+
+ printf ("#m=0,S=2\n");
+
+ for (i = 0; i < 10; i++)
+ {
+ x[i] = i + 0.5 * sin (i);
+ y[i] = i + cos (i * i);
+ printf ("%g %g\n", x[i], y[i]);
+ }
+
+ printf ("#m=1,S=0\n");
+
+ {
+ gsl_interp_accel *acc
+ = gsl_interp_accel_alloc ();
+ gsl_spline *spline
+ = gsl_spline_alloc (gsl_interp_cspline, 10);
+
+ gsl_spline_init (spline, x, y, 10);
+
+ for (xi = x[0]; xi < x[9]; xi += 0.01)
+ {
+ yi = gsl_spline_eval (spline, xi, acc);
+ printf ("%g %g\n", xi, yi);
+ }
+ gsl_spline_free (spline);
+ gsl_interp_accel_free (acc);
+ }
+ return 0;
+}