二分法.cpp
来自「使用C++编写的经典数值计算算法,包括NEWTON迭带法,SIMPSON,二分法」· C++ 代码 · 共 48 行
CPP
48 行
#include<iostream.h>
#include<math.h>
double f(double x)
{
double y=sqrt(x);
return y;
}
void g(double e,double a,double T0,double h,int k)
{
double T;
double F=0;
for(int i=1;i<=pow(2,k-1);i++)
{
F=F+f(a+(2*i-1)*h);
}
T=T0/2+h*F;
if(fabs(T-T0)>3*e)
{
T0=T;
k++;
h=h/2;
cout<<k-2<<" "<<T<<" "<<'\n';
g(e,a,T0,h,k);
}
else cout<<'\n'<<"积分值为:"<<T;
}
void main()
{
double a,b;
cout<<"输入下限:";
cin>>a;
cout<<"输入上限:";
cin>>b;
double e;
cout<<"输入分辨精度:";
cin>>e;
double h=(b-a)/2;
double T0=h*(f(a)+f(b));
int k=1;
g(e,a,T0,h,k);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?