📄 main2.cpp
字号:
#include <iostream>
#include <math.h>
using namespace std;
double f1(double x);
double f2(double x);
int main()
{
double e1,e2,N;
int n=1;
double F,DF,x[2],Tol;
cout<<"请分别输入初值x[0],精度e1,e2,最大迭代次数N,并以空格分隔 "<<endl;
cin>>x[0]>>e1>>e2>>N;
while (n<=N)
{
F=f1(x[0]); //f2为函数f1的导函数
DF=f2(x[0]);
if (fabs(F)<e1)
{
cout<<x[0];
break;
}
else if (fabs(DF)<e2)
{
cout<<"Fail!";
break;
}
x[1]=x[0]-F/DF;
Tol=fabs(x[1]-x[0]);
if (fabs(Tol)<e1)
{ cout<<x[1];
break;}
n++;
x[0]=x[1];
}
return 0;
}
double f1(double x)
{
double f;
f=x*x-2*x*exp(-x)+exp(-2*x);
return f;
}
double f2(double x)
{
double f;
f=2*x-2*exp(-x)+2*x*exp(-x)-2*exp(-2*x);
return f;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -