回 帖 发 新 帖 刷新版面

主题:新手求教一个求定积分的问题  谢谢各位了

请问下  我只是想求 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 楼

我发完整的代码出来吧#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 楼

晕 不好意思啊...我只回复一次不知道为什么这么多....

13 楼

晕 不好意思啊...我只回复一次不知道为什么这么多....

14 楼

晕 不好意思啊...我只回复一次不知道为什么这么多....

15 楼

晕 不好意思啊...我只回复一次不知道为什么这么多....

16 楼

晕 不好意思啊...我只回复一次不知道为什么这么多....

17 楼

晕 不好意思啊...我只回复一次不知道为什么这么多....

18 楼

晕 不好意思啊...我只回复一次不知道为什么这么多....

19 楼

晕 不好意思啊...我只回复一次不知道为什么这么多....

20 楼

晕 不好意思啊...我只回复一次不知道为什么这么多....

我来回复

您尚未登录,请登录后再回复。点此登录或注册