diff options
Diffstat (limited to 'gsl-1.9/doc/examples/cheb.c')
-rw-r--r-- | gsl-1.9/doc/examples/cheb.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/gsl-1.9/doc/examples/cheb.c b/gsl-1.9/doc/examples/cheb.c new file mode 100644 index 0000000..58a0c54 --- /dev/null +++ b/gsl-1.9/doc/examples/cheb.c @@ -0,0 +1,40 @@ +#include <stdio.h> +#include <gsl/gsl_math.h> +#include <gsl/gsl_chebyshev.h> + +double +f (double x, void *p) +{ + if (x < 0.5) + return 0.25; + else + return 0.75; +} + +int +main (void) +{ + int i, n = 10000; + + gsl_cheb_series *cs = gsl_cheb_alloc (40); + + gsl_function F; + + F.function = f; + F.params = 0; + + gsl_cheb_init (cs, &F, 0.0, 1.0); + + for (i = 0; i < n; i++) + { + double x = i / (double)n; + double r10 = gsl_cheb_eval_n (cs, 10, x); + double r40 = gsl_cheb_eval (cs, x); + printf ("%g %g %g %g\n", + x, GSL_FN_EVAL (&F, x), r10, r40); + } + + gsl_cheb_free (cs); + + return 0; +} |