除了复化求积外,这里用龙贝格积分法进行近似求积,其原理与埃特金插值有些类似,进行线性整合后使结果具有高精度的求积效果。在实际过程中,由于对于评判合理步长的困难,我们常采取变步长的办法进行计算,使结果满足精度要求。龙贝格运算过程:梯形公式装载数据→辛甫生化→柯特斯化→龙贝格高精度化。

对于梯形公式,我们知道T1=[F(Xk)+F(Xk+1)]*h/2,T2=[F(Xk)+2*F(Xk+1/2)+F(Xk+1)]*h/4,显然得出T2=T1/2+∑F(Xk+1/2)*h/2的关系。其中的h=(b-a)/N,在下一步计算时,要进行步长二分。当取得一定的梯形公式数据点后,就可以直接进行数据高精度化了。

辛甫生化:Sn=(4*T2n-Tn)/3;

柯特斯化:Cn=(16*S2n-Sn)/15;

龙贝格化:Rn=(64*C2n-Cn)/63。

建立数组T[]、S[]、C[]、R[]分别存放各自的数据,用函数F(x)=Sin(x)/x在区间[0,1]上进行检验,F(0)=1。

h=b-a;
T2=T1=(F(a)+F(b))*h/2;
//进行梯形公式数据装载
for(int i=0;i<N+3;i++)//N为龙贝格数据个数
{T[i]=T2;sum=0;x=a+h/2;while(x<b){sum=F(x)+sum;x+=h;}T2=(T1+h*sum)/2;h=h/2;T1=T2;
}
//进行梯形公式到辛甫生的转化
for(int i=0;i<N+2;i++)S[i]=(4*T[i+1]-T[i])/3;
//进行辛甫生到柯特斯的转化
for(int i=0;i<N+1;i++)C[i]=(16*S[i+1]-S[i])/15;
//进行柯特斯到龙贝格的转化
for(int i=0;i<N;i++)R[i]=(64*C[i+1]-C[i])/63;

最后,当然是验证输出结果了:

在VS2010下运行的结果,看来龙贝格公式果然高精度啊!

数值积分之龙贝格积分相关推荐

  1. 龙贝格积分公式(数值积分)

    问题描述 利用龙贝格积分公式计算函数f(x)=(x^2+x+1)cos(x),在区间[0, pi/2]范围内的定积分近似值. 输入形式 在屏幕上龙贝格积分表行的最大值. 输出形式 龙贝格积分表. 样例 ...

  2. 复合梯形公式matlab代码_MATLAB龙贝格积分算法

    什么是龙贝格积分算法 龙贝格(Romberg)积分算法也被称为逐次分半加速算法,通过把积分区间逐次分半的方法进行数值积分求解.由于其采用的是逐次分半计算,后一次计算是对前一次近似结果的修正,因此相对于 ...

  3. matlab符号值,matlab 符号积分和数值积分

    f=(x)sin(x)+cos(x);定义被积函数Intf=quad(f,0,1)%对f进行积分,下限为0,上限为1www.mh456.com防采集. 其实,你仔细观察一下会发现,用第二种方法得到百x ...

  4. 数值积分-龙贝格(Romberg)积分

    数值积分在工程上是个比较有用的数学工具.在工程上有很多数学问题,看似简单,计算所用的数学公式不算复杂,但是求解起来却很困难,很难获得解析解的公式,这个时候就需要用到数值求解的办法来获取满足工程需要的近 ...

  5. 定积分的计算与辛普森积分及龙贝格积分

    定积分的计算与辛普森积分及龙贝格积分 定积分的计算 辛普森积分公式与自适应辛普森积分 龙贝格积分(Romberg积分) 面积或者体积的计算 hdu1724 [NEERC 2014 D题 Damage ...

  6. 工程数学 计算方法 第五章 数值积分

    工程数学 计算方法 第五章 数值积分 数值积分 数值微分 微分 差商法 原理 误差分析 优化:变步长算法 插值法 数值积分 机械求积公式 插值型数值积分 代数精度⭐ 节点等距分布 复合求积 复合求积基 ...

  7. 【计算方法数值分析】复化梯形公式、复化辛普森公式和龙贝格数值积分

    [计算方法数值分析]复化梯形公式.复化辛普森公式和龙贝格数值积分 1. 复化梯形公式 %复化梯形公式 function t=agui_trapz(fname,d2fname,a,b,e) %fname ...

  8. [计算机数值积分]龙贝格公式求数值积分

    Spring-_-Bear 的 CSDN 博客导航 梯形法 的算法简单,但精度低,收敛速度缓慢.如何提高收敛速度以节省计算量,自然是人们极为关心的课题. 根据梯形法的误差公式 I − T n ≈ − ...

  9. matlab用辛普森公式求积分_数值计算实验9 数值积分实验

    实验9 数值积分实验 成绩 实验类型:●验证性实验  ○综合性实验  ○设计性实验 实验目的:进一步熟练掌握变步长数值积分算法,提高编程能力和解决定积分问题的实践技能. 实验内容:用龙贝格积分算法计算 ...

最新文章

  1. qml 自定义消息框_Qt qml 自定义消息提示框
  2. 微软新冠: 数据分析网站 COVID Insights
  3. python爬虫挖掘平台搭建_一篇非常棒的安装Python及爬虫入门博文!
  4. MySQL: Starting MySQL….. ERROR! The server quit without updating PID file解决办法
  5. 【aspnetcore】添加自定义json配置文件
  6. 深入理解脚本化CSS系列第五篇——动态样式
  7. Python语言 目录
  8. Java 建模:子整体软件开发
  9. 《二》Android 数据库 SQlite SQLiteOpenHelper
  10. Java编程:排序算法
  11. 内部类异常-NoClassDefFoundError
  12. 如何卸载office201032位_office2010卸载不了应该如何通过清理注册表解决方法?
  13. sap中如何追踪生产订单的修改记录
  14. Win8.1 取消开机密码
  15. 理解Java heap内存和Java direct内存
  16. 6 生僻字_蔬菜中的生僻字你知道哪些?
  17. 谁若97岁死,奈何桥上等三年。
  18. 飞行的小鸟论文python_80+行代码实现简单的“飞行的小鸟”游戏
  19. zabbix Nginx_low_discover监控设置
  20. python爬取合工大、安大、中科大就业信息网宣讲会信息——requests_htmlmongoDB

热门文章

  1. 1012: 8除不尽的数
  2. java语音播报天气_Home Assistant系列 -- 自动语音播报天气
  3. 设计模式之观察者模式、中介者模式、迭代器模式、访问者模式、备忘录模式、解释器模式
  4. xpath解析最全攻略
  5. 51单片机控制舵机,舵机不动的定时器原因
  6. ssim算法计算图片_图像质量评估算法 SSIM(结构相似性)
  7. 如何使用netsh advfirewall firewall而不是netsh firewall控制Windows Server 2008的防火墙行为
  8. android ndk x86 arm,NDK r21编译FFmpeg 4.2.2(x86、x86_64、armv7、armv8)
  9. PowerBI-时间智能函数-DATEADD
  10. FindNextFile函数