




已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
計算機科學(xué)學(xué)院課程設(shè)計報告 課程 數(shù)值分析 題目Richard加速Romberg算法的理論推導(dǎo)與程序計算年級 2006級 專業(yè) 信息與計算科學(xué)學(xué)號 06062076 學(xué)生 王軍 指導(dǎo)教師 寧娣 2008年12月12日計算機科學(xué)學(xué)院本科課程設(shè)計任 務(wù) 書設(shè)計題目:Richard加速Romberg算法的理論推導(dǎo)與程序計算指導(dǎo)教師: 寧娣 專業(yè): 信息與計算科學(xué) 學(xué)生姓名: 王軍 下達時間: 2008年12月11日 一、設(shè)計的主要內(nèi)容及要求1、設(shè)計Richard加速的Romberg算法,并寫出詳細推導(dǎo)過程;2、寫出可由計算機進行計算的算法步驟;3、編寫Richard加速的Romberg算法程序,要求程序能計算各種定積分值;4、利用計算機進行實例計算。二、課程設(shè)計進程安排第15周:下達任務(wù),查閱相關(guān)資料,完成預(yù)習(xí)報告;第16周:實驗室調(diào)試并驗收;第19周:整理并最終完成課程設(shè)計報告。利用基于Richard加速的Romberg算法進行簡單的積分計算摘要:本課程設(shè)計論文主要分為六大部分。一、符號說明,對論文中出現(xiàn)過的一些符號進行說明;二、相關(guān)準備,主要介紹了復(fù)化梯形公式的推導(dǎo)過程和Richard加速過程的理論依據(jù),為Richard外推加速算法的推導(dǎo)提供一些必要準備;三、理論推導(dǎo),寫出了Richard加速的Romberg算法的詳細推導(dǎo)過程和計算方法;四、Richard加速的Romberg算法在計算機中實現(xiàn),主要介紹了如何利用Richard加速的Romberg算法編寫MATLAB程序,使其程序能進行較為精確的積分計算(詳細程序見附錄);五、利用計算機進行積分計算實例,這里進行了兩個不同被積函數(shù)在不同積分區(qū)間上的積分計算,并寫出了計算結(jié)果;六、課程總結(jié)及心得體會。 本次課程設(shè)計中,Richard加速的Romberg的推導(dǎo)過程層次清楚且較為詳細,使讀者看上去通俗、易懂。積分計算程序全部由本人自己編寫,語句簡單、結(jié)構(gòu)合理且算法復(fù)雜度較低?!娟P(guān)鍵詞】數(shù)值積分,復(fù)化梯形,外推加速算法,節(jié)點,余項,MATLAB一、符號說明:被積函數(shù);:步長;:被積區(qū)間等份時用復(fù)化梯形公式所求得的積分值;:精確積分值;:余項;:積分下限;:積分上限。二、相關(guān)準備1、復(fù)化梯形公式:把積分區(qū)間等分,步長在每個子區(qū)間上使用梯形公式:(2-1) (2-2)余項(2-3)如果將求積區(qū)間再二分一次,則分點增至個,將二分前后的兩個積分值聯(lián)系起來加以考察,注意到每個子區(qū)間里二分只增加了一個分點,用復(fù)化梯形公式求得該子區(qū)間上的積分值為:(2-4)2、Richard加速過程的理論依據(jù):使得加速過程繼續(xù)下去的理論依據(jù)是梯形法的余項可以展開成級數(shù)形式,即當(dāng)時,有如下等式成立:.即:(2-5)其中與無關(guān)。三、理論推導(dǎo)1、Richard外推加速方法:按式(2-5),有:(3-1)現(xiàn)將式(2-5)與式(3-1)按以下方式進行組合,得:(3-2)則可以從余項展開式中消去誤差的主要部分項,從而得到: (3-3)又根據(jù)式(3-3),有:(3-4)令 (3-5)則又進一步從余項展開中消去項,從而有: (3-6)(m)如此繼續(xù)下去,每加速一次,誤差的量級便提高二階,一般地,將按公式(3-7)經(jīng)過次加速后,余項便取如下形式: (3-8)2、Richard加速的Romberg算法的遞推公式:設(shè)表示二分k次后求得的梯形值,且以表示序列的m次加速值,根據(jù)上述理論得遞推公式為:(3-9)可以證明,如果充分光滑,那么數(shù)據(jù)均會收斂到所求積分值,即。3、Richard加速的Romberg方法的計算步驟:準備初值,計算且令(記錄二分的次數(shù));求梯形值,按遞推公式(2-4)計算梯形值;求加速值,按遞推公式(3-9)逐個求出數(shù)表第行其余個元素。步驟控制,對于指定精度,若,則終止計算,并取作為所求結(jié)果;否則令(任意二分一次),轉(zhuǎn)步繼續(xù)計算。四、Richard加速的Romberg算法在計算機中實現(xiàn)為了讓計算機利用Richard加速的Romberg算法計算積分值,可以編寫C程序、C+程序,也可以利用MATLAB軟件寫m程序來進行計算,三者中,利用MATLAB軟件編寫程序相對其他兩種較為容易。在本課程設(shè)計中,使用的是MATLAB軟件來計算積分值。其具體實現(xiàn)過程如下:1、編寫一個求復(fù)化梯形值的函數(shù)文件其功能是:給定積分上限、積分下限、求積區(qū)間被劃分的等份數(shù)(分別為),能利用復(fù)化梯形公式和初值計算出函數(shù)內(nèi)部定義的某一特定函數(shù)的積分值,即計算出某一函數(shù)的上、下限分別為時的值。(可以更改此函數(shù)內(nèi)部定定義的函數(shù)來計算不同函數(shù)的值)。其MATLAB程序源代碼見附錄一。2、編寫Richard加速的Romberg算法程序此程序中要求認為輸入所求積分的上、下限。并在程序中定義一個控制誤差范圍的誤差限變量,并進行初始化,可以根據(jù)要求更改誤差限變量值,計算出任意誤差范圍內(nèi)的積分值。在本程序中,首先定義k值為1,并分別計算出,并將結(jié)果存入到一個矩陣T中()。然后檢查積分誤差,若誤差大于誤差限,則k=k+1,并將矩陣T增加一行和一列,使之變k+1行、k+1列,新增加的元素全部初始化為0。然后分別計算,并分別存入到中,再次檢查積分誤差,循環(huán)進行,直到所求積分誤差小于誤差限。最后輸出加速過程的T數(shù)表和所求積分值(即:)。其MATLAB程序文件的源代碼見附錄二。五、利用計算機進行積分計算實例在這里,分別進行了兩個積分的計算。1、利用Richard加速的Romberg算法求的值,要求誤差。(分別取,進行兩組數(shù)值的計算。)我們利用附錄一和附錄二的程序分別進行了兩組不同值時的函數(shù)積分值,其具體運行過程如下:、時的計算:程序運行時需要分別輸入值,運行結(jié)束后的結(jié)果顯示如下:請輸入積分下限a:0請輸入積分上限b:10.9207355 0.9397933 0.9461459 0.9445135 0.9460869 0.9460830 0.9456909 0.9460833 0.9460831 0.9460831 滿足精度要求的結(jié)果為: 0.9460831。注釋:T為下三角形的三角數(shù)據(jù)表T數(shù)表。時的計算結(jié)果如下:請輸入積分下限a:1請輸入積分上限b:30.8885110 0.8989042 0.9023686 0.9016449 0.9025584 0.9025711 0.9023378 0.9025688 0.9025695 0.9025695 0.9025115 0.9025694 0.9025695 0.9025695 0.9025695 滿足精度要求的結(jié)果為: 0.9025695。2、利用Richard加速的Romberg算法求的值,要求誤差。(分別取,進行兩組數(shù)值的計算。)為了計算此積分,我們需要對附錄一中定義的fx文件內(nèi)容做如下更該:function f=f(x)f=x/exp(x);end、時的計算結(jié)果顯示如下:請輸入積分下限a:0請輸入積分上限b:10.1839397 0.2436025 0.2634901 0.2590450 0.2641925 0.2642394 0.2629398 0.2642381 0.2642411 0.2642411 0.2639156 0.2642409 0.2642411 0.2642411 0.2642411 滿足精度要求的結(jié)果為: 0.2642411。時的計算結(jié)果如下:請輸入積分下限a:1請輸入積分上限b:30.5172406 0.5292909 0.5333076 0.5345993 0.5363688 0.5365729 0.5360960 0.5365949 0.5366099 0.5366105 0.5364812 0.5366096 0.5366106 0.5366106 0.5366106 滿足精度要求的結(jié)果為: 0.5366106。六、課程總結(jié)及心得體會課程總結(jié): 本次課程設(shè)計是為了讓我們更細致的掌握Richard加速的Romberg算法,并根據(jù)算法寫出程序,使得我們能使用計算機來進行比較精確的積分計算。在本課程設(shè)計中,首先引入了一系列與Romberg算法相關(guān)的知識,為推導(dǎo)Romberg算法提供了理論依據(jù),使得后續(xù)工作逐步順利進行。然后得到了詳細的Richard加速的Romberg算法步驟,為利用MATLAB軟件編程計算定積分排除路障。最后,利用編寫好的MATLAB程序進行了幾個實例計算。心得體會:本次課程設(shè)計是數(shù)值分析理論知識與計算機編程實踐的一次有機結(jié)合,讓我們所學(xué)的理論知識應(yīng)用到實際問題中,即鞏固了理論知識,又鍛煉了動手能力,這是以后的學(xué)習(xí)和工作中不可缺少的步驟。當(dāng)然,僅靠一次課程設(shè)計是遠遠不夠的,這就要求我們以這次為起點,在以后的學(xué)習(xí)中多鍛煉我們的動手能力,真正做到理論與實踐相結(jié)合。參考文獻:1李慶揚,王能超,易大義 數(shù)值分析 華中科技大學(xué)出版社 20062劉衛(wèi)國 MATLAB程序設(shè)計與應(yīng)用 高等教育出版社 2006附錄附錄一(文件):function T=Tn(a,b,n)function f=fx(x) if x=0 f=1; else f=sin(x)/x; endendh=(b-a)/n;k=fx(a)+fx(b);for X=a+h:h:b-h; k=k+2*fx(X);endT=h/2*k;end附錄二(文件):a=input(請輸入積分下限a:);b=input(請輸入積分上限b:);format longm=1.0e-6;k=1;T=zeros(k+1,k+1);for j=1:k+1 for i=k+1:-1:j if j=1 T(i,j)=Tn(a,b,2(i-1); else T(i,j)=4(j-1)/(4(j-1)-1)*T(i,j-1)-1/(4(j-1)-1)*T(i-1,j-1); end endendwhile(abs(T(k+1,k+1)-T(k,k)=m) k=k+1; T(k+1,:)=zeros(1,k); T(:,k+1)=ze
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技型企業(yè)債券融資的創(chuàng)新策略與實踐探索
- 公募基金運作管理辦法
- 古代詩詞創(chuàng)作:狀元卷與試帖詩鑒賞
- 新質(zhì)生產(chǎn)力推動制造業(yè)高質(zhì)量發(fā)展的機制分析
- 物理學(xué)科知識梳理
- 微生物檢測技術(shù):標準化操作流程與質(zhì)量控制研究
- 晉江核酸檢測管理辦法
- 王昌齡絲路行旅詩悲壯風(fēng)格的多維解析
- 發(fā)票管理辦法稅前扣除
- 內(nèi)部公共食堂管理辦法
- 辦公室常見頸腰椎疾病預(yù)防及養(yǎng)護
- 消防維保方案(消防維保服務(wù))(技術(shù)標)
- 煙草專賣局招聘合同范本
- 2023年內(nèi)蒙古生物學(xué)業(yè)水平測試卷
- 門診就診高峰期應(yīng)急預(yù)案7篇,門診患者高峰期應(yīng)急預(yù)案
- 部編八下語文游記閱讀訓(xùn)練題語文八年級下冊能力訓(xùn)練(部編版)
- 保修管理控制程序
- GB/T 9117-2010帶頸承插焊鋼制管法蘭
- GB/T 12513-2006鑲玻璃構(gòu)件耐火試驗方法
- 人教版音樂三年級上冊教材介紹-課件
- 教師的職業(yè)生涯規(guī)劃與專業(yè)發(fā)展課件
評論
0/150
提交評論