如何使用梯形法计算定积分,其中a = 0,b = 1,被积函数为sin(x) e^x,积分区间等分

问题描述:

如何使用梯形法计算定积分,其中a = 0,b = 1,被积函数为sin(x) e^x,积分区间等分

%matlab程序
format long
y=inline('sin(x).*exp(x)');
quad(y,0,1)
ans =
0.909330672042376

/* C语言程序 */
/* 求[0,1]上函数sin(x)*e^x的定积分 */
#include
#include"math.h"
#define exp 2.718281828
void main()
{
long int n=1000,i;
float temp,sum=0,delta=1.0/n;
for(i=0;i {
temp=sin(i*delta)*pow(exp,i*delta)+sin((i+1)*delta)*pow(exp,(i+1)*delta);
sum=sum+temp*delta/2;
}
printf("The definite integral vaule is %9.6f",sum);
getch();
}
输出结果:0.909331