Romberg(龙贝格)积分法 | matlab
function s=rombg(a, b, TOL)
% a 为积分下限
% b 为积分上限
% TOL 为误差容限
% s 为最后Romberg积分的值
% rombg_f为积分函数n = 1;
h = b - a;
delt = 1; % 误差初值
x = a;
k = 0;
R = zeros(4, 4);
R(1, 1) = h / 2 * (rombg_f(a) + rombg_f(b));
while delt > TOL% 如果两次计算的误差大于给定误差则进入循环k = k + 1;h = h / 2;s = 0;for j = 1:nx = a + h * (2 * j - 1);s = s + rombg_f(x);endR(k+1, 1) = R(k, 1) / 2 + h * s;n = 2 * n;for i = 1:kR(k+1, i+1) = ((4^i) * R(k+1, i) - R(k, i)) / (4^i - 1);enddelt = abs(R(k+1, k) - R(k+1, k+1)); % 计算前后两次的值
end
s = R(k+1, k+1);
function f=rombg_f(x)
f = x / (4 + x^2);
end
% s = rombg(f, 0, 1.5, 1.e-6)s = rombg(0, 1.5, 1.e-6)%=> s = 0.3241
Romberg(龙贝格)积分法 | matlab相关推荐
- matlab 龙贝格法,matlab龙贝格法
Tm 3.2.2 龙贝格算法计算步骤 1.输入 MATLAB 程序 functi... 3.2.2 龙贝格算法计算步骤 1.输入 MATLAB 程序 function[... 3.2.2 龙贝格算法计 ...
- Romberg(龙贝格)求积公式求解数值积分时的注意事项
<数值分析>第5版(李庆扬编著)的第四章课后习题第8-(2)题中,要求使用Romberg(龙贝格)求积公式求解f(x)=xsinx在区间[0,2pi]上的积分,要求误差小于10^(-5). ...
- Romberg(龙贝格)数值积分算法较高效的python实现
1. 原理与公式 2. Python代码实现 # coding=utf-8 import numpy as np import math# 二分法梯形公式 # func:需要积分的函数 # x_min ...
- 数值积分公式及龙贝格(Romberg)算法实现matlab
一.数值积分方法得基本思想 二.复化求积公式 三.基于复化梯形求积公式的高精度求积算法--Richardson外推法和Romberg算法 四.Romberg算法的matlab程序: function ...
- 数值分析龙贝格matlab,龙贝格matlab程序
k>=15 [龙贝格求积算法 Matlab 主程序] function[t]=rbg(f,a,b,c) t=zeros(15,4); %定义龙贝格积分函数,f 为待积函数,a 与 b 为积 分上 ...
- 数值积分: 梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式
数值积分:梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式 1.问题描述 微积分方法求积有很大的局限性,当碰到被积函数很复杂时,找不到相应的原函数.积分值 在几何上可解释为由 ...
- 利用Matlab编写龙贝格算法(romberg)求函数积分
这次是我初次接触matlab,源于数学老师布置的一个作业:用龙贝格算法来计算函数的积分. 具体的计算原理,由于是数学的东西,不好打印,就不写了.主要把自己的代码贴下来慢慢理解. 一共写了两个文件.一个 ...
- 抛物线求积公式求积分算法matlab,数值计算实验报告---复合求积公式(梯形、抛物线、龙贝格)、导数求值(三点、四点、五点公式)...
----------------------个人作业,如果有后辈的作业习题一致,可以参考学习,一起交流,请勿直接copy ··复合抛物线公式: ··龙贝格公式: 四.实验内容 ------1 实验题目 ...
- 数值计算大作业:数值积分(梯形、辛普森与龙贝格方法在Matlab实现)
作为研究生的入门课,数值计算的大作业算是所有研究生开学的重要编程作业. 针对数值积分的编程,我把梯形.辛普森与龙贝格方法在MATLAB中编写的程序放在文章最后了,需要的同学自取. PS:附录中的程序并 ...
- 【数值分析实验MATLAB】数值积分:梯形公式、辛普森公式、复化梯形公式、复化辛普森公式、龙贝格算法、自适应求积方法
(1)Matlab代码: f1: if x==0y=1; else%y=exp(-x^2);y=(sin(x))/x; end 梯形公式: a=0; b=1; tx=(b-a)/2*(f1(a)+f1 ...
最新文章
- 1112: 零起点学算法19——输出特殊值
- 模拟RAID-10其中一个硬盘损坏
- 优先队列如何按照pair 的第二关键字排序(对比vector按照pair第二关键字排序)
- android弹窗自动消失,Android点击popupwindow以外区域 popupwindow自动消失(转载)
- 【Java基础总结】网络编程
- 【CCF】201803-2 碰撞的小球
- 暴力技术(一)——BFS广(宽)度优先搜索
- HTTP Gzip压缩问题总结
- linux 系统信号忽略和system函数返回值问题(system的实现)
- c++ windows下读取大文件(内存映射)
- 如何学好3D游戏引擎编程
- JavaScript逻辑训练题(二)
- 2021年苹果ASO商店优化技巧
- 深信服各种设备管理地址
- 手机出货量大跌34.9%,2019小米将何去何从
- 2018年第九届C/C++ A组蓝桥杯省赛真题——第五题:书号验证
- java 逗号分隔数字_java程序 输入n个数字,以逗号隔开,然后升序排列,再重新输出...
- BitLocker恢复
- 主流开源流媒体服务器有哪些?
- android23 登录我微信,微信7.0.23正式版