zoukankan      html  css  js  c++  java
  • 任意积分求法

    #include<iostream>
    #include<cmath>
    using namespace std;
    typedef double (*fpoint)(double x);  //新定义的函数类型,里边有一个double变量
    double fun1(double x){
        const int u=0;
        const int b=1;
        const double Pi=3.14159;
        double coefficient=1/(sqrt(2*Pi)*b);
        double index = -((x-u)*(x-u)/(2*b*b));
        return coefficient*exp(index); 
    }
    double fun2(double x){
        return 3*x*x+4*x;
    }
    double fun3(double x){
        return exp(x);
    }
    double fintegration(fpoint f,const long long N=50000,const double minvalue=-1000,const double maxvalue=1000){
        double distance=(maxvalue-minvalue)/N;
        long double sum=0;
        for(int i=0;i<N;i++){
            double length;
            double x1,x2;
            x1=minvalue+i*distance;
            x2=minvalue+(i+1)*distance;
            length=(f(x1)+f(x2))/2;
            sum+=length*distance;
        }
        return sum;
    }
    int main(){
        int m,n;
        double q;
        cout<<"请输入积分区间: ";
        cin>>m>>n;
        cout<<"请输入精度:";
        cin>>q;
        double w = (n-m)/q;
        cout<<w<<endl;
        cout<<fintegration(fun3,w,m,n)<<endl;
        return 0;
    } 
  • 相关阅读:
    1206 冲刺三
    1130持续更新
    1128项目跟进
    冲刺一1123(总结)
    冲刺一
    1117 新冲刺
    0621 第三次冲刺及课程设计
    0621回顾和总结
    实验四主存空间的分配和回收
    学习进度条
  • 原文地址:https://www.cnblogs.com/ls-pankong/p/12564200.html
Copyright © 2011-2022 走看看