📄 阿.cpp
字号:
#include<iostream.h>
double f(double x)
{return (x*x*x-x-1);}
double df(double x)
{return (3*x*x-1);}
double jdz(double x)
{if(x>=0)return x;
else return (-x);
}
void main()
{double x0,x1,e1=0.00001,e2=0.00001,w=1;
cin>>x0;
x1=x0;
while(jdz(f(x1))>=e1&&w>=e2)
{x1=x0-(w*f(x0))/df(x0); //x0--xk;x1--xk+1
if(jdz(f(x0))<=jdz(f(x1)))
{w=w/2;}
//w=w/2;//加上就不对.0.6对应的解为15.0854
x0=x1;
cout<<x1<<endl;
}
//cout<<f(1.5)<<endl;
//cout<<x1<<endl;
}
//本题试验的是x1=0.6.与原Newton法作比较。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -