各位大哥,谁有没有关于定积分计算的C++源码?

解决方案 »

  1.   

    大一时候写的定积分源码:
    是数值计算的作业题#include<iostream.h>
    #include<math.h>#define A0 8/9
    #define A1 5/9
    #define A2 5/9
    #define x0 0
    #define x1 sqrt(15)/5
    #define x2 -sqrt(15)/5double f1(double x)
    {
    return(pow(x,5));//这一行请手工添加函数
    }double g(double x,double (*f)(double),double a,double b)
    {
    return f(x*((b-a)/2)+(a+b)/2);
    }double jifen(double(*f)(double),double a,double b,int n)
    {
    double h,sum1=0,sum2=0;
    if(a>b) h=(a-b)/n;
    else h=(b-a)/n;
    for(int i=0;i<n;i++){
    sum1=g(x0,f,a+i*h,a+(i+1)*h)*A0+g(x1,f,a+i*h,a+(i+1)*h)*A1+g(x2,f,a+i*h,a+(i+1)*h)*A2;
    sum2+=sum1*h/2;
    }
    return(sum2);
    }void main(void)
    {
    int n;
    double a,b;
    cout<<"请输入积分上限:";
    cin>>a;
    cout<<"请输入积分下限:";
    cin>>b;
    cout<<"f1(x)从"<<a<<"到"<<b<<"的积分为:\n"<<jifen(f1,a,b,10)<<'\n';

    }