版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2023/2/2數(shù)值積分計算吳鵬(rocwoods)rocwoods@126.comMATLAB從零到進階2023/2/2主要內(nèi)容矩形區(qū)域積分以及離散數(shù)據(jù)積分
含參數(shù)的積分一般區(qū)域二重、三重積分一般區(qū)域n重積分
蒙特卡洛法計算n重積分
2023/2/2第一節(jié)矩形區(qū)域積分以及離散數(shù)據(jù)積分2023/2/2一、矩形區(qū)域積分積分上下限是常數(shù),分單重、二重、三重三種情況1.單重quad(自適應Simpson積分)quadl(自適應Gauss-Lobatto積分,最常用)quadgk(自適應Gauss-Kronrod積分,尤其適合震蕩積分、含奇點的積分;從R2007b開始支持)
具體用法參見書中【例10.1-1】2.二重情形一般二重積分可以用下面兩個函數(shù)解決:dblquadquad2d(R2009a開始支持,不僅可以求矩形區(qū)域二重積分,還可以求一般區(qū)域二重積分)具體用法參見書中【例10.1-2】2023/2/2一、矩形區(qū)域積分3.三重情形MATLAB中可以利用triplequad函數(shù)求解長方體區(qū)域的三重積分。具體用法參見書中【例10.1-3】4.向量化積分所謂向量化積分,是指被積函數(shù)含有參數(shù),需要對參數(shù)的一系列值求出相應的積分。向量話積分可以用quadv函數(shù)。具體用法參見書中【例10.1-4】2023/2/2二、離散數(shù)據(jù)積分離散數(shù)據(jù)積分的函數(shù)MATLAB只有trapz函數(shù),是針對一重情形的,如果是二重情形,需要自己編寫,其中會用到trapz函數(shù)。用法示例參見書中【例10.1-5】以及【例10.1-6】2023/2/2第二節(jié)含參數(shù)的積分2023/2/2
在解決實際問題的時候我們常要求解一些帶參數(shù)的積分問題,這涉及到參數(shù)的傳遞,總的說來有以下幾種方法可以求解:用inline+num2str方法(MATLAB7.0以前版本使用,7.0以后不推薦使用)利用匿名函數(shù)實現(xiàn)利用嵌套函數(shù)實現(xiàn)利用積分函數(shù)本身傳遞參數(shù) 這幾種方法的具體實現(xiàn)辦法可以參見【例10.2-1】。2023/2/2第三節(jié)一般區(qū)域二重、三重積分2023/2/2一、概要
一般區(qū)域上的二重積分,低版本的MATLAB向來支持不好,7.X版本之前不能通過簡單的形式直接求取一般區(qū)域上的的二重積分,往往要借助廣泛流傳的NIT工具箱(數(shù)值積分工具箱)來實現(xiàn)。后來到了7.X版本,MATLAB引入了匿名函數(shù)結(jié)構,dblquad的被積函數(shù)可以是匿名函數(shù)的形式,利用匿名函數(shù)結(jié)構,通過適當改寫被積函數(shù)。dblquad可以求解一般區(qū)域上的二重積分。但這種改寫就是將積分區(qū)域表示成邏輯表達式形式并與被積函數(shù)相乘,本質(zhì)上還是計算的矩形區(qū)域的積分。 仔細分析dblquad的幫助文檔中求一般區(qū)域二重積分的例子就會發(fā)現(xiàn),這種辦法是把原被積函數(shù)外推到了一個矩形區(qū)域上來實現(xiàn)的,該矩形區(qū)域包含了被積區(qū)域,在被積區(qū)域上,外推函數(shù)取值和原函數(shù)一樣,而在矩形區(qū)域內(nèi)被積區(qū)域外的那部分,外推函數(shù)取值都為0.這樣外推函數(shù)在矩形區(qū)域上積分的結(jié)果就等于原被積函數(shù)在被積區(qū)域的結(jié)果。這種數(shù)學上簡單的變換導致的結(jié)果就是,按這種辦法,計算量大增,特別是被積區(qū)域非常不規(guī)則并布滿整個矩形區(qū)域的時候。2023/2/2一、概要
從MATLABR2009a版本起,MATLAB終于有了專門求解一般區(qū)域二重積分的函數(shù)——quad2d,該函數(shù)采用的自適應積分算法基于L.F.Shampine的文章:"VectorizedAdaptiveQuadratureinMATLAB,"JournalofComputationalandAppliedMathematics,211,2008。該函數(shù)求解一般區(qū)域二重積分的效率要遠高于上面提到的dblquad的方法。 雖然quad2d可以求解一般區(qū)域二重積分,但還是不能直接求解一般區(qū)域三重積分,而NIT工具箱也沒有一般區(qū)域三重積分的計算函數(shù)。這些需要靈活運用MATLAB相關函數(shù)來構建。2023/2/2二、一般區(qū)域二重積分的計算dblquad求解一般區(qū)域二重三重積分的思路方法,就是將被積函數(shù)“延拓”到矩形或者長方體區(qū)域,但是這種方法不可避免引入很多乘0運算浪費時間。而quad2d雖然效率很高,但是R2009a之前沒有這個函數(shù)。因此,要想在2009a之前的MATLAB7版里里計算一般區(qū)域二重三重積分,需要開辟新的方法。新的方法是調(diào)用已有的MATLAB函數(shù)求解,在求一般區(qū)域二重積分時,效率和quad2d相比有一些差距,但是相對于“延拓”函數(shù)的做法,效率大大提高了
。【例10.3-2】和【例10.3-3】給出了這一方法的應用實例,可以看出該方法在R2009a以前的版本中不失為一種方法,效率要明顯高于dblquad幫助文檔里推薦的做法。更重要的是,這給我們求解一般區(qū)域三重積分提供了一種途徑。2023/2/2三、一般區(qū)域三重積分的計算模板1:quadl(@(x)arrayfun(@(xx)quad2d(被積函數(shù)f(xx,y,z)關于y,z變量的函數(shù)句柄,y積分下限y1(xx),y積分上限y2(xx),z積分下限z1(xx,y),z積分上限z2(xx,y)),x),x積分下限值,x積分上限值)模板2:quad2d(@(x,y)arrayfun(@(xx,yy)quadl(被積函數(shù)f(xx,yy,z)關于z變量的函數(shù)句柄,z積分下限z1(xx,yy),z積分上限z2(xx,yy)),x,y),x積分下限值,x積分上限值,y積分下限y1(x),y積分上限y2(x))模板3:quadl(@(x)arrayfun(@(xx)quadl(@(y)arrayfun(@(yy)quadl(被積函數(shù)f(xx,yy,z)關于z變量的函數(shù)句柄,z積分下限z1(xx,yy),z積分上限z2(xx,yy)),y),y積分下限y1(xx),y積分上限y2(xx)),x),x積分下限值,x積分上限值)模板使用說明:x,y,z是積分變量,模板中除了用語言描述的參量用相應表達式替換掉外,其余結(jié)構保持不變。具體使用示例可以參考【例10.3-4】
2023/2/2第四節(jié)一般區(qū)域n重積分的計算2023/2/2介紹求解一般區(qū)域n重積分的函數(shù)——nIntegratef=nIntegrate(fun,low,up)
f為函數(shù)的返回值是n重積分積分結(jié)果。fun是被積函數(shù)字符串形式,不同的變量依次以x1,x2,...xn表示,(需要注意的是,必須以x1,x2,...xn這種形式表示,其余像y1,y2,...yn或是其他表示方法都不行)。low和up都是長度為n的cell數(shù)組,low存儲從外到內(nèi)各重積分的積分下限函數(shù),up存儲從外到內(nèi)各重積分的積分上限函數(shù)(都是字符串形式)。low和up內(nèi)的函數(shù)表示都要遵循一些原則,這些原則在程序注釋里進行了說明.nIntegrate函數(shù)源代碼以及使用示例參考書中相關內(nèi)容以及【例10.4-1】至【例10.4-4】2023/2/2第五節(jié)蒙特卡洛法計算n重積分2023/2/2 一些積分重數(shù)比較高的積分,按照傳統(tǒng)方法進行計算的話,運算量會非常大,求解時間隨著重數(shù)的增加而迅速增加。在10.4節(jié)雖然給出了一般區(qū)域n重積分的通用程序,但是在實際計算中,n不會很大,一般n超過5后,求解時間就會長到無法接受。對于更高維的積分,一個非常有效的求解方法就是蒙特卡洛積分法。 蒙特卡洛方法又稱隨機抽樣法或統(tǒng)計試驗方法,它用于求積分時,與積分重數(shù)無關,這點非常重要。雖然四維以下的積分用蒙特卡洛法效率可能不如傳統(tǒng)的一些數(shù)值積分方法,但是維數(shù)高的時候,蒙特卡洛法比傳統(tǒng)方法要有效的多,而且實現(xiàn)起來也非常容易??梢哉f,計算高維積分是蒙特卡洛方法最成功和典型的應用。 實際應用中,有多種蒙特卡洛方法可以計算n重積分,比較常用的是基本蒙特卡洛法和等分布序列的蒙特卡洛法。2023/2/2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年機械員之機械員專業(yè)管理實務考試題庫200道含答案【鞏固】
- 2026年證券分析師之發(fā)布證券研究報告業(yè)務考試題庫300道及參考答案(精練)
- 2026年網(wǎng)絡預約出租汽車駕駛員從業(yè)資格考試題庫附完整答案【各地真題】
- 2026年勞務員考試題庫附參考答案(b卷)
- 2026年設備監(jiān)理師之設備監(jiān)理合同考試題庫及參考答案(培優(yōu))
- 木地板坯料制備工崗前工作實操考核試卷含答案
- 新能源項目開發(fā)管理流程規(guī)范
- 2026年一級注冊建筑師考試題庫300道及完整答案【全優(yōu)】
- 2026年法律法規(guī)考試題庫及完整答案1套
- 建材銷售合同示范文本及風險控制策略
- 2026屆四川涼山州高三高考一模數(shù)學試卷試題(含答案詳解)
- 銀行黨支部書記2025年抓基層黨建工作述職報告
- 腫瘤標志物的分類
- 2025山西忻州市原平市招聘社區(qū)專職工作人員50人考試歷年真題匯編附答案解析
- 喬俏課件-下咽癌靶區(qū)勾畫
- 年產(chǎn)十萬噸丙烯腈生產(chǎn)工藝設計
- 護理質(zhì)量檢查記錄69528
- 年產(chǎn)10噸功能益生菌凍干粉的工廠設計改
- GB/T 31541-2015精細陶瓷界面拉伸和剪切粘結(jié)強度試驗方法十字交叉法
- GB/T 26923-2011節(jié)水型企業(yè)紡織染整行業(yè)
- GB/T 14364-1993船舶軸系滑動式中間軸承
評論
0/150
提交評論