梯形法求定积分(二)--设计一个函数模板,独立的非成员函
2009-12-10 19:33
204 查看
/*设计梯形法求定积分的函数模板,这个方法比之前的那个设计求积分的类要思路简单得多,
而且我个人认为这么想更顺*/
#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;
}
而且我个人认为这么想更顺*/
#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;
}
相关文章推荐
- 梯形法求定积分(二)--设计一个函数模板,独立的非成员函
- 使用sqlite3(数据库知识)的接口函数完成一个用户注册功能模块设计 要封装成函数,在独立的main中调用测试
- //设计一个函数模板 max <T>求一个数组中最大的元素,并以整数数组和字符数 //组进行调用。
- 梯形法求定积分(一)设计梯形法求积分的类模板,梯形法
- 使用sqlite3的接口函数完成一个用户登录验证功能模块设计 要封装成独立函数,在独立的main中调用测试;
- 梯形法求定积分(一)设计梯形法求积分的类模板,梯形法
- 10.2 设计一个函数模板 max <T>求一个数组中最大的元素,并以整数数组和字符数 组进行调用
- 毕业设计的坑--我的一个独立游戏的完整设计方案(2)
- 第四周任务一:设计一个三角形类,给出个成员函数的定义
- 第四周上机任务--任务一--用VS2008设计一个三角形类--给各个成员函数定义
- 用函数模板,写一个简单高效的 JSON 查询器的方法介绍
- thinkphp模板输出变量使用一个或多个函数
- 11周1--2以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试;
- 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
- 设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p
- 设计一个函数,既能计算圆的周长也能计算圆的面积(分别用指针和引用实现)
- The Django Book的一个view函数改用django模板实现
- 设计一个函数,根据指定长度生成对应的验证码(由数字和大小写英文字母构成的随机字符串)
- 7.2 设计一个点类,其中包含一对坐标点数据成员、一个求两个点之间距离的友元函 数 dist 和显示坐标点的成员函数,并用数据进行测试。
- //创建一个数组, //实现函数init()初始化数组、 //实现empty()清空数组、 //实现reverse()函数完成数组元素的逆置。 //要求:自己设计函数的参数,返回值。