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

📄 cpp4.cpp

📁 进退法求收敛区间和黄金分割法求极值两种功能
💻 CPP
字号:
#include "math.h" 
#include "stdio.h" 
#define f(x) x*x-7*x+10       //一元函数  
//函数功能是用黄金分割法实现求一元函数 的最优解 
double hj(double *a,double *b,double e,int *n) 
{ double x1,x2,s; 
  if(fabs(*b-*a)<=e) 
      s=f((*b+*a)/2); 
  else 
  {  x1=*a+0.382*(*b-*a); 
     x2=*a+0.618*(*b-*a); 
     if(f(x1)>f(x2)) 
           *a=x1; 
     else 
           *b=x2; 
     *n=*n+1; 
     s=hj(a,b,e,n); 
     } 
  return s; 
} 
void main() 
{ double s,a,b,e; 
  int n=0; 
  scanf("%lf%lf%lf",&a,&b,&e);    // 输入区间[a,b]和精度e的值 
  s=hj(&a,&b,e,&n);      //调用hj函数,其中n代表迭代次数 
  printf("a=%lf,b=%lf,s=%lf,n=%d\n",a,b,s,n); 
} 

⌨️ 快捷键说明

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