复合梯形公式matlab代码_MATLAB龙贝格积分算法
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                复合梯形公式matlab代码_MATLAB龙贝格积分算法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                什么是龍貝格積分算法
龍貝格(Romberg)積分算法也被稱為逐次分半加速算法,通過把積分區(qū)間逐次分半的方法進行數(shù)值積分求解。由于其采用的是逐次分半計算,后一次計算是對前一次近似結果的修正,因此相對于辛普森和科特斯求積方法精度更高;并且其前一次分割計算的函數(shù)值在分半之后還可以被繼續(xù)使用,因此提升了計算的效率,是一種精度較高的加速計算積分的方法。龍貝格積分算法計算過程
龍貝格積分算法是一種將理查森外推加速法應用于復合梯形公式而形成的一種積分方法,遞推公式可表示為
(1)取,求(2)利用變步長梯形公式求,其中為區(qū)間的分半次數(shù),即(3)按照次序依據(jù)遞推公式逐個求出加速值??(4)比較遞推矩陣相鄰對角元素,兩者之差絕對值小于預設精度要求時終止計算。??龍貝格積分算法程序設計
龍貝格算法程序設計如下:function [y,T]=romberg(f,a,b,e)k=0;h=b-a;T(1,1)=h/2*(f(a)+f(b));%第一步d=h;%初始化相鄰兩次誤差while e<=d k=k+1; QH=0; for j=0:2^(k-1)-1 QH=QH+f(a+(2*j+1)*(b-a)/2^k); end T(k+1,1)=T(k,1)/2+(b-a)/2^k*QH;%第二步 for j=1:k T(k+1,j+1)=T(k+1,j)+(T(k+1,j)-T(k,j))/(4^j-1);%第三步 end d=abs(T(k+1,k+1)-T(k,k));%第四步endy=T(k+1,k+1);龍貝格積分算法算例分析
應用龍貝格算法計算積分
使其精度達到10-5,其精確值為0.25。輸入程序代碼
f=inline('x^3')[y,T]=romberg(f,0,1,1e-5)運行結果為
y = 0.250000000000000T =???0.500000000000000??????????????????0???????????????????0??? 0.312500000000000??0.250000000000000???????????????????0 0.26562500000000 0.250000000000000 0.250000000000000注:公式和代碼左右滑動查看完整效果。總結
以上是生活随笔為你收集整理的复合梯形公式matlab代码_MATLAB龙贝格积分算法的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: windows影驰1050ti显卡驱动如
- 下一篇: 微信小程序的条件渲染怎么实现
