zoukankan      html  css  js  c++  java
  • 梯形法求定积分(一)设计梯形法求积分的类模板,梯形法

    /*设计梯形法求积分的类模板,梯形法求积分的函数被定义为成员函数,可以求任意函数的定积分,用积分类的模板参数T引入被积函数*/
    #include<iostream>
    #include<cmath>
    #include<iomanip>
    using namespace std;
    class Mysin{
    public:
     double fun(double x)
     {
      return (sin(x));
     }
    };
    class F1{
    public:
     double fun(double x)
     {
      return (1+x+2*x*x);
     }
    };
    class F2{
    public:
     double fun(double x)
     {
      return (1+x+2*x*x+3*x*x*x);
     }
    };
    template<class T>
    class JiFenLei{
    private:
     double a,b,h,result;
     int n;
     T cf;
    public:
     JiFenLei(double x=0,double y=0,int m=100)
     {
      a=x;
      b=y;
      n=m;
      jifenhanshu();//初始化后就地再类的内部进行积分,
      //但是感觉这样一定要注意构造函数的调用情况,千万不可随意调用构造函数
     }
     void print()
     {
      cout<<"定积分的值为:"<<result<<endl;
     }
     void xiugaitiaojian(double x=0,double y=0,int m=100)
     {
      a=x;
      b=y;
      n=m;
     }
     void jifenhanshu();
    };
    template<class T>
    void JiFenLei<T>::jifenhanshu()
    {
      h=(b-a)/n;
      int i;
      result=(cf.fun(a)+cf.fun(b))/2;
      for(i=1;i<n;i++)
       result += cf.fun(a+i*h);
      result = result*h;
    }
    void main()
    {
     JiFenLei<Mysin>J1(0.0,3.0,100);
     J1.print();
     JiFenLei<F1>J2(0.0,3.0,100);
     J2.print();
    }

  • 相关阅读:
    node.js代码
    弹性盒和多列布局
    浏览器兼容性
    图片整合与宽高自适应
    百度分享自定义设置
    设置Cookie,登录记住用户登录信息,获取用户登录过得信息
    验证用户是否登录,是否有过注册信息
    循环显示切换
    ajax提交表单 验证
    简单易用的点击展开伸缩效果
  • 原文地址:https://www.cnblogs.com/javaadu/p/11742824.html
Copyright © 2011-2022 走看看