diff options
Diffstat (limited to 'gsl-1.9/doc/examples/diff.c')
-rw-r--r-- | gsl-1.9/doc/examples/diff.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gsl-1.9/doc/examples/diff.c b/gsl-1.9/doc/examples/diff.c new file mode 100644 index 0000000..b32e193 --- /dev/null +++ b/gsl-1.9/doc/examples/diff.c @@ -0,0 +1,32 @@ +#include <stdio.h> +#include <gsl/gsl_math.h> +#include <gsl/gsl_deriv.h> + +double f (double x, void * params) +{ + return pow (x, 1.5); +} + +int +main (void) +{ + gsl_function F; + double result, abserr; + + F.function = &f; + F.params = 0; + + printf ("f(x) = x^(3/2)\n"); + + gsl_deriv_central (&F, 2.0, 1e-8, &result, &abserr); + printf ("x = 2.0\n"); + printf ("f'(x) = %.10f +/- %.10f\n", result, abserr); + printf ("exact = %.10f\n\n", 1.5 * sqrt(2.0)); + + gsl_deriv_forward (&F, 0.0, 1e-8, &result, &abserr); + printf ("x = 0.0\n"); + printf ("f'(x) = %.10f +/- %.10f\n", result, abserr); + printf ("exact = %.10f\n", 0.0); + + return 0; +} |