资源简介
分别写出变步长梯形法与 Romberge法计算定积分的算法,编写程序上机调试出结果,
要求所编程序适用于任何类型的定积分,即能解决这一类问题,而不是某一个问题
代码片段和文件信息
#include
#include
#include
double abeps;
double function(const double x)
{
if(x==0) return 1;
return(sin(x)/x);
}
void tixing()
{
int n=1;
double h=b-a;
double T1=h*(function(a)+function(b))/2;
double T2=T1/2+h*function(a+h/2)/2;
while(fabs(T2-T1)>eps)
{
n*=2;
h/=2;
T1=T2;
double temp=0;
for(int i=1;i<=n;++i)
temp+=function(a+(i-1.0/2)*h);
T2=T1/2+h*temp/2;
}
printf(“所求积分为:%f\n“T2);
}
double Tm(const double T1const double T2const int m)
{
return((pow(4m)*T1-T2)/(pow(4m)-1));
}
void Romberg()
{
double T[10];
int l=1;
T[0]=(b-a)*(function(a)+function(b))/2;
double T1T2;
评论
共有 条评论