c语言编程龙贝格积分算法积分函数3x/(4+x^2),积分区间0,1

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 22:30:51
c语言编程龙贝格积分算法积分函数3x/(4+x^2),积分区间0,1

c语言编程龙贝格积分算法积分函数3x/(4+x^2),积分区间0,1
c语言编程龙贝格积分算法
积分函数3x/(4+x^2),积分区间0,1

c语言编程龙贝格积分算法积分函数3x/(4+x^2),积分区间0,1
这个程序,我正好在学计算方法的时候写过,直接贴代码
C++实现如下:
#include<iostream>
#include<cmath>
using namespace std;
const int MAXRepeat = 100; //最大允许重复
double function(double x)//被积函数,根据自己的需要手工输入
{
double s;
s = 1.0 / (1 + x);
return s;
}
void Romberg(double a, double b, double epsion, double f(double x))
{
int m = 1;
int n = 1;
int k;
double h;
double ep;
double p;
double xk;
double s;
double q;
double T[MAXRepeat];
h = b - a;
T[0] = 0.5 * h * (f(a) + f(b));
ep = epsion + 1.0;
while ((ep >= epsion) && (m < MAXRepeat))
{
p = 0.0;
for (k = 0; k < n; k++)
{
xk = a + (k + 0.5) * h; // n-1
p = p + f(xk); //计算∑f(xk+h/2),T
} // k=0
p = (T[0] + h * p) / 2.0; //T`m`(h/2),变步长梯形求积公式
s = 1.0;
for (k = 1; k <= m; k++)
{
s = 4.0 * s; //[pow(4,m)T`m`(h/2)-T`m`(h)]/[pow(4,m)-1],2m阶牛顿柯斯特公式,即龙贝格公式
q = (s * p - T[k - 1]) / (s - 1.0);
T[k-1] = p;
p = q;
}
ep = fabs(q - T[m - 1]);
m++;
T[m - 1] = q;
n++; // 2 4 8 16
h /= 2.0;
}
for (int i = 0; i < m; i++)
{
int j;
if (!(i % j))
{
cout<<T[i]<<endl;
}
else
{
cout<<T[i]<<" ";
}
j++;
}
}
int main()
{
double a;
double b;
double epsion;
cout<<"Please input the lower limit: ";
cin>>a;
cout<<"Please input the upper limit: ";
cin>>b;
cout<<"Please input the precision : ";
cin>>epsion;
Romberg( a, b, epsion, function);
return 0;
}
希望对您有所帮助!

c语言编程龙贝格积分算法积分函数3x/(4+x^2),积分区间0,1 C语言编程求函数y=sinx在(0,1)区间的定积分? 用C语言编程,已知f(x)=(1+x^2),编写函数用梯形法计算f(x)在区间[a,b]上的定积分 用梯形法编程求函数f(x)=x2+2x+1的定积分 求大神帮我把这个题有c语言或c++编出来,急用, 函数 (x**x+3*x+9)/(x-1) 用c语言循环语句怎么编程 c语言编程:计算分段函数0.75*x (x 一道用C语言编程计算积分的题目,求大神解答!可追分.一道用C语言编程的计算积分题目.用C语言进行3.14和3.15的数值计算,3.14中求使式子等于0 的x.其中n1是整数,其余都是分数.(0<p<a1/b1,X>=a c语言 分段函数,编程:Y=x(-5 用C语言编写一个求定积分的程序用C语言编写一个求定积分的通用函数,用它分别求以下5个函数的定积分:∫ab (1+x)dx ,∫ab (2x+3)dx ,∫ab (ex+1)dx ,∫ab (1+x)2dx ,∫ab x3dx .其中,a,b为积分上下限,数值 C语言,关于矩形求定积分,怎么求?求(x*x+3)在(0,3)上定积分 C语言.VC6.0软件写用变步长梯形求积法计算定积分f(x)=e^(-x^2)在[1,2]上积分.C语言C语言 积分符号怎样用C语言表示 积分函数, 有理函数积分:x/(1+x^3)从0到1的积分? 大一高等数学试题定积分上限1,下限0,被积函数:e的x*x次幂,用估算法算积分的值 c语言由角速度求角度的函数,通过积分求角度 什么语言程序能解决符号函数积分的问题例如:求 y=a*x^2/(1+x^6-a*x^5+x^4+3*a*x^3+x^2) 的积分 c语言 sin(x)+cos(x)编程