📄 复化求积2.cpp
字号:
#include<iostream.h>
#include<Math.h>
#define a 0
#define b 3.1415926535897932
double Hxun(double A,double H,int N)
{
double hres=0.0;
double hxunhuan=0.0;
for(int i=1;i<=N;i++)
{
hxunhuan=hxunhuan+exp(A+((2*i-1)*H)/2)*cos(A+((2*i-1)*H)/2);
}
hres=H*hxunhuan;
return hres;
}
double T1n(double A,double B,double H,int N)
{ double res=0.0;
double pas=0.0;
for(int k=1;k<N;k++)
{
pas=pas+exp(A+k*H)*cos(A+k*H);
}
res=(H/2)*(exp(A)*cos(A)+2*pas+exp(B)*cos(B));
return res;
}
double T2n(double A,double B,double H,int N)
{ double tzhi=0.0,hzhi=0.0,final=0.0;
tzhi=T1n(A,B,H,N);
hzhi=Hxun(A,H,N);
final = (tzhi+hzhi)/2;
return final;
}
void main()
{ double h,comp=1.0;
double result1=0.0;
double result2=0.0;
int n=1;
h=b-a;
while(1)
{
result1=T1n(a,b,h,n);
result2=T2n(a,b,h,n);
comp=result2-result1;
if((comp<pow(10,-6)))
break;
else
n=2*n;
h=h/2;
}
cout<<"the result is:"<<result2<<" "<<n<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -