现在的位置: 首页 > 综合 > 正文

windows下GSL的配置 及使用 GSL线性拟合1

2018年06月07日 ⁄ 综合 ⁄ 共 1732字 ⁄ 字号 评论关闭

1. 下载生成 lib文件

http://gnuwin32.sourceforge.net/packages/gsl.htm

 

下载Sources安装后发现,里面有做好的vc8的解决方案。打开libgsl.sln然后重新编译一下libgsl和libgslcblas即可。生成的lib和dll文件在vc6.0和vc8.0下都能使用。呵呵在自己工程的预处理器里不要忘了加GSL_DLL。

 

  直接下载Complete package, except sources发现没有lib文件只有.a文件,有网友说用vc6.0自带的1ib.exe转换一下即可

      lib.exe /machine:i386 /def:libgsl.def

      lib.exe /machine:i386 /def:libgslcblas.def

 

GSL线性拟合1

分类: GSL-GNU scientific Library 552人阅读 评论(0) 收藏 举报
  1. #include <stdio.h>  
  2. #include <gsl/gsl_fit.h>  
  3.   
  4. #pragma comment(lib, "libgsl_d.lib")  
  5. #pragma comment(lib, "libgslcblas_d.lib")  
  6.   
  7. int  
  8. main (void)  
  9. {  
  10.   int i, n = 4;  
  11.   double x[4] = { 1970, 1980, 1990, 2000 };  
  12.   double y[4] = {   12,   11,   14,   13 };  
  13.   double w[4] = {  0.1,  0.2,  0.3,  0.4 };  
  14.   
  15.   double c0, c1, cov00, cov01, cov11, chisq;  
  16.   
  17.   gsl_fit_wlinear (x, 1, w, 1, y, 1, n,   
  18.                    &c0, &c1, &cov00, &cov01, &cov11,   
  19.                    &chisq);  
  20.   
  21.   printf ("# best fit: Y = %g + %g X\n", c0, c1);  
  22.   printf ("# covariance matrix:\n");  
  23.   printf ("# [ %g, %g\n#   %g, %g]\n",   
  24.           cov00, cov01, cov01, cov11);  
  25.   printf ("# chisq = %g\n", chisq);  
  26.   
  27.   for (i = 0; i < n; i++)  
  28.     printf ("data: %g %g %g\n",   
  29.                    x[i], y[i], 1/sqrt(w[i]));  
  30.   
  31.   printf ("\n");  
  32.   
  33.   for (i = -30; i < 130; i++)  
  34.     {  
  35.       double xf = x[0] + (i/100.0) * (x[n-1] - x[0]);  
  36.       double yf, yf_err;  
  37.   
  38.       gsl_fit_linear_est (xf,   
  39.                           c0, c1,   
  40.                           cov00, cov01, cov11,   
  41.                           &yf, &yf_err);  
  42.   
  43.       printf ("fit: %g %g\n", xf, yf);  
  44.       printf ("hi : %g %g\n", xf, yf + yf_err);  
  45.       printf ("lo : %g %g\n", xf, yf - yf_err);  
  46.     }  
  47.   return 0;  
  48. }  

【上篇】
【下篇】

抱歉!评论已关闭.