interp.c

来自「GNU的数值运算库,内容丰富!」· C语言 代码 · 共 42 行

C
42
字号
#include <stdlib.h>#include <stdio.h>#include <math.h>#include <gsl/gsl_errno.h>#include <gsl/gsl_spline.h>intmain (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;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?