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

📄 新建 文本文档.txt

📁 用一维搜索法求极值 文件说明不够详细!不详细说明软件具体功能
💻 TXT
字号:
#include<iostream.h>
#include<math.h>
/*黄金分割法求最小值的C++程序,部分变量及函数书写并不规范*/

//δ为题给精度
int n = (lnδ/ln0.618 + 1) + 1;
int i;
float f(float ai, float bi)
{
 a(i + 1) = ai + 0.618(bi - ai);
 return ai + 1;
}

float g(float ai, float bi)
{
 b(i + 1) = ai + 0.382(bi - ai);
 return b(i + 1);
}

float F(float ai, float bi)
{
//题给的f(x)函数式;
 return ;
}

float A(float ai, float bi)
{
 int i = 1;
 float result;
L: do
 {
  a(i + 1) = f(float ai, float bi);
  b(i + 1) = g(float ai, float bi);
  float F1 = F(float ai, float bi);
  float F2 = F(float a(i + 1), float b(i + 1));
  ai = ai, bi = b(i + 1);
  i ++;
  
 }while(i <= n && F1 >= F2)
 if(i < n)
 {
  B(float ai, float bi);
 }
 else 
  result = F2;
  return result;

}

float B(float ai, float bi)
{
 do
 {
  a(i + 1) = f(float ai, float bi);
  b(i + 1) = g(float ai, float bi);
  float F1 = F(float ai, float bi);
  float F2 = F(float a(i + 1), float b(i + 1));
  ai = a(i + 1), bi = bi;
  i ++;
  
 }while(i <= n && F1 <= F2)
 if(i < n)
 {
  goto L;
 }
 else
  result = F1;
  return result;
 
}

void main()
{
 int i = 1;
 float A(float ai, float bi);
 cout<<"最小值为:"<<result<<endl;
}


⌨️ 快捷键说明

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