📄 tixing.cpp
字号:
#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
//#define f(x) sin(x)
//#define I(x) cos(x)
#define f(x) log(x)
#define I(x) 1/x
double tixing(double up,double down,int n)
{
double T,temp = 0;
double h = (up - down)/n;
for(int i=1;i<=n-1;i++)
{
temp += f(down+i*h);
}
T = h * ( f(down)/2 + temp + f(up)/2 );
return T;
}
double error(double up,double down,double T)
{
double P = I(down) - I(up);
return P - T;
}
int main()
{
double up,down;
cout<<"Please input the up boundary and the down boundary:"<<endl;
cin>>up;
cin>>down;
cout.precision(18);
cout.setf(ios::fixed);
cout<<0.346574/2+log(1.5)/2<<endl;
for(int k=0;k<=12;k++)
{
int n = pow(2,k);
double T = tixing(up,down,n);
cout<<"When k = "<<k<<":"<<endl;
cout<<"复化梯形积分可得结果为: "<<T<<endl;
cout<<" ********** AND 误差为: "<<error(up,down,T)<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -