用矩形法求定积分输出结果不对?
写一个用矩形法求定积分的通用函数,所谓矩形法就是根据极限法则,把欲求的面积分成n份矩形,然后累加起来。以下程序为求sin,cos,exp的定积分程序,代码本身没错,可输出结果却不对??
#include<stdio.h>
#include<math.h>
#define n 1000
float sum1=0,sum2=0,sum3=0;
float collect_fun(float up,float down)
{
float i,temp;
temp=up-down;
for(i=1;i<=n;i++)
{
sum1=sum1+sin(i*temp/n)/n*temp;
sum2=sum2+cos(i*temp/n)/n*temp;
sum3=sum3+exp(i*temp/n)/n*temp;
}
}
main()
{
float up,down;
scanf("%f%f",&up,&down);
collect_fun(up,down);
printf("%f,%f,%f",sum1,sum2,sum3);
getch();
}
[ 本帖最后由 zhengzhihui 于 2009-8-28 14:45 编辑 ]
[ 本帖最后由 zhengzhihui 于 2009-8-28 14:49 编辑 ]