integration.c

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

C
36
字号
#include <stdio.h>#include <math.h>#include <gsl/gsl_integration.h>double f (double x, void * params) {  double alpha = *(double *) params;  double f = log(alpha*x) / sqrt(x);  return f;}intmain (void){  gsl_integration_workspace * w     = gsl_integration_workspace_alloc (1000);    double result, error;  double expected = -4.0;  double alpha = 1.0;  gsl_function F;  F.function = &f;  F.params = &alpha;  gsl_integration_qags (&F, 0, 1, 0, 1e-7, 1000,                        w, &result, &error);   printf ("result          = % .18f\n", result);  printf ("exact result    = % .18f\n", expected);  printf ("estimated error = % .18f\n", error);  printf ("actual error    = % .18f\n", result - expected);  printf ("intervals =  %d\n", w->size);  return 0;}

⌨️ 快捷键说明

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