📄 抛物线公式的逐次分半法.cpp
字号:
#include<iostream.h>
#include<math.h>
#include<stdio.h>
double f(double s)
{ double t;
t=1/(1+s*s);
return t;
}
void main()
{ int n=2;
double i,h,a,b,I,F1,F2,F3,S0,v,S;
cout<<"请输入上限值:";
cin>>b;
cout<<"请输入下限值:";
cin>>a;
cout<<"请输入允许误差值:";
cin>>v;
F1=f(a)+f(b);
F2=f((a+b)/2);
S0=((b-a)/6)*(F1+4*F2);
h=(b-a)/4;
F3=0;
for( i=1;i<=n;i++)
F3=F3+f(a+h*(2*i-1));
S=(h/3)*(F1+2*F2+4*F3);
while(fabs(S-S0)>=15*v)
{
n=2*n;
h=h/2;
F2=F2+F3;
S0=S;
F3=0;
for( i=1;i<=n;i++)
F3=F3+f(a+h*(2*i-1));
S=(h/3)*(F1+2*F2+4*F3);
}
I=S;
cout<<endl;
cout<<"积分结果是:"<<I;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -