用C语言编写一个求定积分的程序用C语言编写一个求定积分的通用函数,用它分别求以下5个函数的定积分:∫ab (1+x)dx ,∫ab (2x+3)dx ,∫ab (ex+1)dx ,∫ab (1+x)2dx ,∫ab x3dx .其中,a,b为积分上下限,数值

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 23:38:23

用C语言编写一个求定积分的程序用C语言编写一个求定积分的通用函数,用它分别求以下5个函数的定积分:∫ab (1+x)dx ,∫ab (2x+3)dx ,∫ab (ex+1)dx ,∫ab (1+x)2dx ,∫ab x3dx .其中,a,b为积分上下限,数值
用C语言编写一个求定积分的程序
用C语言编写一个求定积分的通用函数,用它分别求以下5个函数的定积分:∫ab (1+x)dx ,∫ab (2x+3)dx ,∫ab (ex+1)dx ,∫ab (1+x)2dx ,∫ab x3dx .其中,a,b为积分上下限,数值待定.

用C语言编写一个求定积分的程序用C语言编写一个求定积分的通用函数,用它分别求以下5个函数的定积分:∫ab (1+x)dx ,∫ab (2x+3)dx ,∫ab (ex+1)dx ,∫ab (1+x)2dx ,∫ab x3dx .其中,a,b为积分上下限,数值
这是辛普森积分法.
给你写了fun_1( ),fun_2(),请自己添加另外几个被积函数.
调用方法 t=fsimp(a,b,eps,fun_i);
a,b --上下限,eps -- 迭代精度要求.
#include
#include
#include
double fun_1(double x)
{
return 1.0 + x ;
}
double fun_2(double x)
{
return 2.0 * x + 3.0 ;
}
double fsimp(double a,double b,double eps,double (*P)(double))
{
int n,k;
double h,t1,t2,s1,s2,ep,p,x;
n=1; h=b-a;
t1=h*(P(a)+P(b))/2.0;
s1=t1;
ep=eps+1.0;
while (ep>=eps)
{
p=0.0;
for (k=0;k