GSL积分运算
来源:互联网 发布:javaweb怎样导入java类 编辑:程序博客网 时间:2024/05/28 06:04
#include <stdio.h>#include <math.h>#include <gsl/gsl_integration.h>#pragma comment(lib, "libgsl_d.lib")#pragma comment(lib, "libgslcblas_d.lib")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 = α 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;}