主题:新手求教一个求定积分的问题 谢谢各位了
scenery
[专家分:0] 发布于 2010-04-21 14:50:00
请问下 我只是想求 0到π这个范围下sinx的定积分 这是我的算法
double integral(double a,double b,double (*fun)(double))
{
const double n=1000.0;
double l,sum=0.0;
l=(b-a)/n;
for(int i=1;i<=n;i++)
sum+=l*fun(a+i*l);
return sum;
} 请问错在哪 谢谢了 a是函数的下限 b是函数的上限 l是分成1000等分 每一等分的长度 我是把图形分成1000个矩形 然后算矩形的面积和的方式求解的
回复列表 (共26个回复)
11 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
我发完整的代码出来吧#include <iostream>
#include <cmath>
using namespace std;
double integral(double a,double b,double (*fun)(double));
int main()
{
double a,b;
cout<<"输入函数的下限和上限:";
cin>>a>>b;
cout<<"sin函数在"<<a<<"到"<<b<<"范围内的定积分是:"<<integral(a,b,sin)<<endl;
return 0;
}
double integral(double a,double b,double (*fun)(double))
{
const double n=1000.0;
double l,sum=0.0;
l=(b-a)/n;
for(int i=1;i<=n;i++)
sum+=l*fun(a+i*l);
return sum;
}
12 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
晕 不好意思啊...我只回复一次不知道为什么这么多....
13 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
晕 不好意思啊...我只回复一次不知道为什么这么多....
14 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
晕 不好意思啊...我只回复一次不知道为什么这么多....
15 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
晕 不好意思啊...我只回复一次不知道为什么这么多....
16 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
晕 不好意思啊...我只回复一次不知道为什么这么多....
17 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
晕 不好意思啊...我只回复一次不知道为什么这么多....
18 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
晕 不好意思啊...我只回复一次不知道为什么这么多....
19 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
晕 不好意思啊...我只回复一次不知道为什么这么多....
20 楼
scenery [专家分:0] 发布于 2010-04-21 22:15:00
晕 不好意思啊...我只回复一次不知道为什么这么多....
我来回复