zoukankan      html  css  js  c++  java
  • 梯形法求定积分(二)设计一个函数模板,独立的非成员函

    /*设计梯形法求定积分的函数模板,这个方法比之前的那个设计求积分的类要思路简单得多,
    而且我个人认为这么想更顺*/
    #include<iostream>
    #include<cmath>
    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>
    double JiFenHanShu(T cf,double a,double b,int n)
    {
     double h,result=0;
     h=(b-a)/n;
     result += (cf.fun(a)+cf.fun(b))/2;
     for(int i=1;i<n;i++)
      result += cf.fun(a+i*h);
     result *= h;
     return result;
    }
    void main()
    {
     Mysin f1;
     F1 f2;
     F2 f3;
     double jieguo1;
     double jieguo2;
     double jieguo3;
     jieguo1=JiFenHanShu(f1,0.0,3.0,1000);
     cout<<"函数f1的定积分值是:"<<jieguo1<<endl;
     jieguo2=JiFenHanShu(f2,0.0,3.0,1000);
     cout<<"函数f2的定积分值是:"<<jieguo2<<endl;
    }

  • 相关阅读:
    vs2010启动调试很慢
    vs2010 cannot file the PDB file解决
    hadoop的版本到底什么样子
    关于spring 或者qurtz的配置
    eclipse 关于内嵌maven
    spring学习 mark一下
    spring mvc视图解析
    rcp项目
    邮件发送
    ASP.NET 缓存学习
  • 原文地址:https://www.cnblogs.com/javaadu/p/11742821.html
Copyright © 2011-2022 走看看