QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2785|回复: 0
打印 上一主题 下一主题

龙贝格求积法源代码,效率很好的

[复制链接]
字体大小: 正常 放大
maleesky        

3

主题

2

听众

19

积分

升级  14.74%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-4-1 16:34 |只看该作者 |正序浏览
|招呼Ta 关注Ta
<>积分的源代码,效率很好的
( c# b1 r; E  B7 T7 W
, Y& _- l, v( U1 J; {( A% N; {( V' Y6 l
//////////////////////////////////////////////////////////////////////6 r. q$ [8 f2 }3 P' ~$ i
// 龙贝格求积法
1 @5 p  f7 A2 J$ ^" Q//
1 I- U! f3 i0 W// 调用时,须覆盖计算函数f(x)值的虚函数double Func(double x)
3 ~% u/ k0 r5 a7 G: {7 I//' U/ F9 g. q8 m8 n, A
// 参数:
. W' v6 t" [2 ]7 r* [// 1. a - Double型变量,积分下限
+ \, H- ?5 _% E- {: x9 n- Y" `// 2. b - Double型变量,积分上限,要求b&gt;a
' B5 |2 }6 t  n7 ]. W// 3. eps - Double型变量,积分精度要求
' _& R8 e+ Z1 g, o8 c5 b/// n) M1 E" D" ]7 I
// 返回值:double 型,积分值
0 q7 I& A4 n8 X5 q  z* a; T//////////////////////////////////////////////////////////////////////
, a8 I; t9 m+ f% Wdouble Integral_Romberg(double a, double b, double eps /*= 0.000001*/)  }' w# _& S. B( V1 D
{ / S, m* R. s7 ?& Q
    int m,n,i,k;
/ [$ b- B6 P; ~0 S, o, }7 S# t* L    double y[10],h,ep,p,x,s,q;</P>
/ K, l! n- g6 y1 P/ x- H( o7 B' V<> // 迭代初值2 t& r4 r$ H  m
    h=b-a;$ A$ ^# Y% z: v, W7 H% K# m0 j
    y[0]=h*(Func(a)+Func(b))/2.0;
) N; D  g# {' k    m=1; ; y" @4 z. p3 V
n=1;
, X: E- j+ M3 r% H0 z: P ep=eps+1.0;6 |+ u' w: X* C  p* B+ q
      T; N! G; \- r" @: @) L
// 迭代计算
( T) O6 g% x  P* ] while ((ep&gt;=eps)&amp;&amp;(m&lt;=9))* K# J$ k+ g; v
    {
7 S$ E. i/ A5 j7 m  v  F, {4 k4 }  p=0.0;1 E$ C! \& E3 V
        for (i=0;i&lt;=n-1;i++)$ u9 m+ h7 M2 C0 }$ k( {
        { 3 x! W( L6 l' t0 z, O% |
   x=a+(i+0.5)*h;
, d% p' q( H7 l7 I! _            p=p+Func(x);. A0 q0 }) q4 E# r# M; E) V
        }
: o- Y) i' T! v7 T        ; v7 H, W4 t4 g3 [
  p=(y[0]+h*p)/2.0;
" d# _3 g  E1 Q6 S6 H        s=1.0;- V7 e9 f0 K; m! @! e- n
        for (k=1;k&lt;=m;k++)
5 u" a$ v& _  n& d. ^        { 0 J/ h, }: ^: ]. ~0 Y  \/ j
   s=4.0*s;
3 b* u1 [5 @* e7 n0 x) \            q=(s*p-y[k-1])/(s-1.0);& z6 U- u; k/ @# _; b) r' P1 G
            y[k-1]=p; p=q;
1 J7 B6 E8 a' r7 p- W2 g1 v$ C        }</P>
/ S* F2 r' P' r4 O. E) v- n( T<>        ep=fabs(q-y[m-1]);
. Z& N' t' A. x& k1 t) a        m=m+1; ' t  z+ P0 ?6 s- k; I- J0 W
  y[m-1]=q;
6 A' L8 v& t2 x5 c  n=n+n;
& ]- y, B4 V# O# p3 P5 f* j  h=h/2.0;* R* j0 k; ]5 k6 q" k1 n6 e
    }
* K0 Y( K* M+ ?4 V7 y. p   
7 k+ v- Q) [* U( L: X- p7 i return(q);
# H) S# ]# z1 g8 f/ G1 t}</P>
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-21 08:21 , Processed in 0.478502 second(s), 52 queries .

回顶部