📄 ex1.cpp
字号:
#include <iostream.h>
#define M 0.382
#define N 0.618
double f ( double x )
{
return 2 * x * x - x - 1 ;
}
int main()
{
int num = 0 ; /* num表示迭代次数 */
double a = -1 , b = 1 , s , t , x ; /* [a,b]为搜索区间,s->0.382,t->0.618,x表示所求点 */
s = a + M * ( b - a ) ;
t = a + N * ( b - a ) ;
while ( b - a > 0.16 )
{
if( f(s) > f(t) )
{
a = s ;
s = t ;
t = a + N * ( b - a );
}
else
{
b = t ;
t = s ;
s = a + M * ( b - a );
}
num++;
}
x = ( a + b ) / 2 ;
cout << "经过" << num << "次迭代,满足精度要求,问题的最优解为" << x <<endl ;
return 0 ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -