📄 牛顿下山.cpp
字号:
#include"iostream.h"
#include"conio.h"
#include"math.h"
#define f (x*x*x-x-1)/(3*x*x-1)
#define g x*x*x-x-1
#define m 10
#define n 8
#define e 0.00001
void main()
{
int i=0,k=0;
float a=0.6,t=1;
float b,c,d,x;
x=a;
c=g;
b=a-t*f;
x=b;
//cout<<b<<endl;
d=g;
// cout<<fabs(d)<<" "<<fabs(c)<<endl;
while(fabs(d)>fabs(c))
{
x=a;
c=g;
t=t/2;
b=a-t*f;
x=b;
d=g;
i=i+1;
cout<<t<<" "<<endl;
cout<<d<<" "<<endl;
if(i>=m)
{
cout<<"重新选择初值a"<<endl;
d=0;
c=1;
k=n+1;
}
}
//cout<<fabs(b-a)<<endl;
while(k<=n)
{
x=b;
c=g;
t=1;
b=a-t*f;
x=b;
d=g;
cout<<d<<" ";
if(k>=n)
cout<<"迭代失败"<<endl;
if(fabs(b-a)<e)
{
cout<<"函数的解为"<<b<<endl;
k=n+1;
}
else
{
k=k+1;
a=b;
}
}
// cout<<fabs(b-a)<<" "<<k<<endl;
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -