QQ登录

只需要一步,快速开始

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

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

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

3

主题

2

听众

19

积分

升级  14.74%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-4-1 16:34 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<>积分的源代码,效率很好的
' X! t7 \; A% D& h
% f2 B; P% u- D7 ?: W, g% n+ M# n& O: J
//////////////////////////////////////////////////////////////////////3 I8 T: r# O" \' C
// 龙贝格求积法
5 ^& ]3 ^5 a3 G3 c//( f5 ]8 P4 w; ]5 ~+ H) }
// 调用时,须覆盖计算函数f(x)值的虚函数double Func(double x)8 ?2 _/ F6 B8 B5 d5 x' ?
//
. T  {0 a0 G. ~$ D// 参数:) E" \2 U) D2 l% B+ Y5 h. k% i
// 1. a - Double型变量,积分下限
" u, r: e- j) Y// 2. b - Double型变量,积分上限,要求b&gt;a
( u7 p4 h0 @! @' U2 d// 3. eps - Double型变量,积分精度要求
2 y7 f( b: V; P% ^# O8 L  X/ Q//
! H/ }$ q9 k0 ^# P4 I8 ~. j// 返回值:double 型,积分值3 J* L6 u) }1 n0 O; s+ R' ^
//////////////////////////////////////////////////////////////////////* ]$ L/ }5 m8 e9 H4 l- U
double Integral_Romberg(double a, double b, double eps /*= 0.000001*/)) ?  K9 b+ b' P+ }
{
/ d7 ]8 ^0 @" a8 a# K    int m,n,i,k;
6 {( v) t: v! c1 E9 q    double y[10],h,ep,p,x,s,q;</P>: n2 w: ~0 V7 W" K5 S; j  m# O; Q
<> // 迭代初值
$ D% t5 B. E! X    h=b-a;$ \" Q% v3 _1 R" ~7 H4 h
    y[0]=h*(Func(a)+Func(b))/2.0;
: F! a- J. |% w* A9 U( D    m=1; 1 l) J6 U$ f  z, T8 s
n=1; 4 W+ W2 c/ _6 y9 n7 N: Y" f
ep=eps+1.0;% k6 s9 S' M( m) Q9 d  z/ r* m
    9 w0 G" ~" \/ e# a  `
// 迭代计算' O  u: Y5 Y/ r  S' n' c
while ((ep&gt;=eps)&amp;&amp;(m&lt;=9))
6 G7 L$ U) A' [. G1 Z6 ~2 w    {
6 B% x+ r* I9 ~% t& n  p=0.0;
; o* M, t) Q1 U) Q" {        for (i=0;i&lt;=n-1;i++)
/ g# W& p% g8 ~& B" m. Z2 _: q8 N$ `        {
: p% E  e# t1 d   x=a+(i+0.5)*h;
4 c8 H% P" \0 ?            p=p+Func(x);
6 ^9 a: W3 G7 w0 `- F/ B# p) E        }
* r$ J" B9 M; N2 f) _& l3 j& M        
9 _/ r, Y" |% H; T+ @  p=(y[0]+h*p)/2.0;
( e9 q: I( f$ X- W        s=1.0;
( Q6 D1 }" x7 z+ ~        for (k=1;k&lt;=m;k++)
) C# p7 k. g1 [. ~. A        {
% X. z- |# h2 q% j# E9 ~   s=4.0*s;
9 ~9 T* D. N7 E9 y/ `  G            q=(s*p-y[k-1])/(s-1.0);
3 Y' \, G5 a* U$ p" r- {1 u- b            y[k-1]=p; p=q;4 C8 }( H$ i' B3 U' _$ ]9 s
        }</P>+ Z' N, g6 }% z4 E0 ~% V( Q
<>        ep=fabs(q-y[m-1]);
5 l0 _9 N5 _5 W9 W        m=m+1;
, J8 y2 K3 x* b9 D  y[m-1]=q; 2 ?& Q4 ]! v% [- e7 R
  n=n+n;
' r( o6 d- _& {4 r* [  h=h/2.0;3 G  f9 t. y! ?' [  x2 Q, W+ A& y
    }
9 K5 G6 a# D. u9 G    ' D2 i- H- X% I  U6 |
return(q);! k* m, w4 a$ |& W
}</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-6-11 10:07 , Processed in 0.463773 second(s), 51 queries .

回顶部