24小时热门版块排行榜    

查看: 1046  |  回复: 9
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

simthhuang

木虫 (小有名气)

★ ★
余泽成(金币+2):谢谢参与应助! 2010-06-08 23:24:28
wangen994(程序强帖+1):授予程序强帖一个,欢迎常来 2010-06-11 17:55:05
引用回帖:
Originally posted by muqiuyan at 2010-06-08 17:21:38:
如果大家认为我说的不清楚,我乐意在详细的介绍下。
我在编一个复杂计算过程的程序,计算公式中有两个一重定积分,在不同的地方,且上下限也不同,积分变量不同。或者说两个完全不同的积分。因此我希望有一个计算 ...

那我就再给你写个吧:

//被积函数原型
double f( double );

//积分函数,返回值为积分结果
//s,e分别为积分上下限
//pf为被积函数指针.

double ff( const double s, const double e, double ( *pf )( double ) )
{
   //计算积分,可以采用别的快速算法
   double d = 0.01, x, r, l, h;
   if( s > e )
   {
        l = e;
        h = s;
    }
   else
   {
        l = s;
        h = e;
    }
   r = 0;
   for( x = l + d; x <= h; x += d )
   {
         r += d * pf( x );
   }
   return (s > e ? - r : r ) ;
}
该函数的使用方法如下:
首先定义被积函数,如:
double sqr( double x )
{
      return x * x;
}

然后调用积分函数,即可得积分结果:

double result = ff( 12.3, -22, sqr );

望能释疑。
一贯知足二目远眺三餐有节四季不懒五谷皆食六欲不张七分忍让八方交往九薄烟断十分坦荡
7楼2010-06-08 20:58:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 muqiuyan 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见