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

📄 main2.cpp

📁 该程序用于实现牛顿迭代法
💻 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 + -