⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 min.c

📁 GNU的数值运算库,内容丰富!
💻 C
字号:
#include <stdio.h>#include <gsl/gsl_errno.h>#include <gsl/gsl_math.h>#include <gsl/gsl_min.h>double fn1 (double x, void * params){  return cos(x) + 1.0;}intmain (void){  int status;  int iter = 0, max_iter = 100;  const gsl_min_fminimizer_type *T;  gsl_min_fminimizer *s;  double m = 2.0, m_expected = M_PI;  double a = 0.0, b = 6.0;  gsl_function F;  F.function = &fn1;  F.params = 0;  T = gsl_min_fminimizer_brent;  s = gsl_min_fminimizer_alloc (T);  gsl_min_fminimizer_set (s, &F, m, a, b);  printf ("using %s method\n",          gsl_min_fminimizer_name (s));  printf ("%5s [%9s, %9s] %9s %10s %9s\n",          "iter", "lower", "upper", "min",          "err", "err(est)");  printf ("%5d [%.7f, %.7f] %.7f %+.7f %.7f\n",          iter, a, b,          m, m - m_expected, b - a);  do    {      iter++;      status = gsl_min_fminimizer_iterate (s);      m = gsl_min_fminimizer_x_minimum (s);      a = gsl_min_fminimizer_x_lower (s);      b = gsl_min_fminimizer_x_upper (s);      status         = gsl_min_test_interval (a, b, 0.001, 0.0);      if (status == GSL_SUCCESS)        printf ("Converged:\n");      printf ("%5d [%.7f, %.7f] "              "%.7f %.7f %+.7f %.7f\n",              iter, a, b,              m, m_expected, m - m_expected, b - a);    }  while (status == GSL_CONTINUE && iter < max_iter);  return status;}

⌨️ 快捷键说明

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