niudun.cpp

来自「数值分析当中牛顿算法」· C++ 代码 · 共 33 行

CPP
33
字号
#include<iostream.h>
#include<stdio.h>
#include<math.h>
//#define f(x) (x*x*x-7.7*x*x+19.2*x-15.3)
//#define g(x) (3*x*x-15.4*x+19.2)
#define f(x) (x*x*x-2*x*x-4*x-7)
#define g(x) (3*x*x-4*x-4)
#define x0 0.0
#define x1 1.0
#define MAXREPT 1e4
void main()
{
int i;
double epsilon;
double x_k=x0,x_k1=x1,x_k2=x1;
cout<<"请输入求解精度:";
cin>>epsilon;
    cout<<"迭代开始:"<<endl;   
for(i=0;i<MAXREPT;i++)
{
   cout<<"Got..."<<x_k2<<endl;
   x_k2=x_k1-f(x_k1)/g(x_k1);
   if(fabs(x_k2-x_k1)<epsilon)
   {
   cout<<"所得满足精度的解为:"<<endl;
   cout<<"!Root="<<x_k2<<endl;
    return;
   }
   x_k=x_k1;x_k1=x_k2;
}
   cout<<"经过 "<<MAXREPT<<" 次迭代后,未达到所需精度要求"<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?