matlab求解pde問題

matlab求解pde問題

ID:13073018

大?。?33.50 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2018-07-20

matlab求解pde問題_第1頁(yè)
matlab求解pde問題_第2頁(yè)
matlab求解pde問題_第3頁(yè)
matlab求解pde問題_第4頁(yè)
matlab求解pde問題_第5頁(yè)
資源描述:

《matlab求解pde問題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、MATLAB求解PDE問題(1)——概述、例子(轉(zhuǎn))(2011-07-2016:48:45)MATLABPDEToolbox提供利用有限元方法求解偏微分方程的GUI以及相應(yīng)的命令行函數(shù)。利用該工具箱可以求解橢圓型方程、拋物型方程、雙曲型方程、特征值方程以及非線性方程。PDEToolbox的功能非常強(qiáng)大,網(wǎng)上有許多利用PDEToolbox解決各種物理問題的論文,還有專門介紹工具箱的參考書。網(wǎng)上的例子雖然很多,但是大部分是介紹PDE工具箱自帶的一些例子,這些例子中解的區(qū)域,邊界條件是PDE工具箱已經(jīng)編寫好的,直接調(diào)用就可以。對(duì)于該如何自己設(shè)定求解區(qū)域及邊

2、界條件,卻很少有人涉及。網(wǎng)上搜索發(fā)現(xiàn)只有劉平在博客中詳細(xì)介紹過求解區(qū)域的設(shè)定。下面以一個(gè)橢圓型方程的例子來(lái)詳細(xì)說(shuō)明求解的各個(gè)步驟,希望對(duì)大家能有所幫助。設(shè)要求如下形式的橢圓方程的解:按照PDE的要求,將方程化為標(biāo)準(zhǔn)形式求解后的圖像如下,第一幅圖是解的圖像,第二幅是計(jì)算誤差。從第二幅圖可以看到,計(jì)算的最大誤差是10-3方量級(jí)。通過這個(gè)例子我們可以基本掌握PDE求解偏微分方程的步驟和方法,后面我將詳細(xì)介紹如何設(shè)置區(qū)域及邊界條件。掌握了區(qū)域和邊界條件的設(shè)定,就可以輕松求解遇到的偏微分方程了。圖后是附帶的matlab命令以及注釋,并提供m文件附件下載,下載后

3、解壓即可。希望能對(duì)大家有所幫助。下面是編寫的求解上述方程的matlab語(yǔ)句及說(shuō)明:g='mygeom';b='mybound';定義區(qū)域,邊界條件。mygeom是定義區(qū)域的子函數(shù)名,函數(shù)名可根據(jù)自己的需要取定,區(qū)域的確定規(guī)則由pdegeom函數(shù)說(shuō)明,注意pdegeom函數(shù)只是說(shuō)明如何定義區(qū)域,它并不直接確定區(qū)域;mybound是定義邊界條件的子函數(shù)名,與區(qū)域類似,邊界的確定規(guī)則由函數(shù)pdebound確定。后面我會(huì)詳細(xì)介紹區(qū)域和邊界的取法。[p,e,t]=initmesh(g);網(wǎng)格初始化,此處也可以寫成[p,e,t]=initmesh('mygeom

4、');這樣可以省略上面的語(yǔ)句[p,e,t]=refinemesh(g,p,e,t);[p,e,t]=refinemesh(g,p,e,t);加密網(wǎng)格兩次,需要加密幾次重復(fù)幾次即可,根據(jù)具體問題確定加密次數(shù)U=assempde(b,p,e,t,1,0,'2*(x+y)-4');調(diào)用assempde函數(shù)計(jì)算方程的數(shù)值解,assempde函數(shù)的詳細(xì)用法可以參考MATH網(wǎng)站或者PDE的使用指南。常用的用法是[u,res]=assempde(b,p,e,t,c,a,f),其中b為邊界條件,此處也可以寫為'mybound',p,e,t,為網(wǎng)格參數(shù),c,a,f,為

5、方程的參數(shù),后面也可以加猜測(cè)值以及各種屬性。pdesurf(p,t,U)gridon;xlabel('x');ylabel('y');zlabel('u')colorbarview([6030])畫出解的圖形。注意,為了讓結(jié)果更直觀一些,使用view函數(shù)調(diào)整了視點(diǎn)位置。大家可以自行調(diào)整視角,滿意即可。exact=p(1,:).^2+p(2,:).^2-p(1,:).*p(2,:).*(p(1,:)+p(2,:));exact=exact';figurepdesurf(p,t,U-exact)gridonxlabel('x');ylabel('y');

6、zlabel('error')colorbarview([6030])由于方程有解析解,我們可以比較數(shù)值計(jì)算的誤差。如果能求得解析解,我們也不會(huì)設(shè)計(jì)各種方法求數(shù)值解了,因此,這一步在大多數(shù)情況下是用不上的,這里只是為了比較計(jì)算結(jié)果,驗(yàn)證計(jì)算的精度。MATLAB求解PDE問題(2)——確定幾何區(qū)域(2012-06-1416:20:38)前一篇介紹了如何利用Matlab求解橢圓型方程,下面介紹如何確定求解的幾何區(qū)域。PDEToolbox中規(guī)定幾何區(qū)域的m文件是pdegeom.m。但是pdegeom并不是一個(gè)可以調(diào)用的函數(shù),它只是規(guī)定了應(yīng)該何如定義區(qū)域,具

7、體的區(qū)域則要根據(jù)研究的問題來(lái)決定。函數(shù)pdegeom釋義如下:參數(shù)為0個(gè)時(shí),即沒有參數(shù)時(shí),返回邊界的段數(shù);參數(shù)為1個(gè)時(shí),即只有bs,返回輸出區(qū)域邊界的參變量范圍矩陣d;參數(shù)為2個(gè)時(shí),返回每段邊界長(zhǎng)度為s時(shí)的坐標(biāo)。函數(shù)參數(shù)意義bs表示指定的邊緣線段,如矩形邊界為四段,三角開邊界肯定為三段…。s為第bs段線段弧長(zhǎng)的近似(估計(jì))值,bs與s可以為向量,但是要一一對(duì)應(yīng),即bs為幾個(gè)值,s也得為幾個(gè)值。輸出變量[x,y]是每條線段起點(diǎn)和終點(diǎn)所對(duì)應(yīng)的坐標(biāo)。這個(gè)函數(shù)編制的關(guān)鍵是,函數(shù)內(nèi)邊界上的坐標(biāo)((x(t),y(t))是用參變量t表示的,返回值是求得邊界任意長(zhǎng)度

8、時(shí)的坐標(biāo)(x(t),y(t))值,參量可以有很多種選法。回到前一篇中,給定的方程的求解區(qū)域是[0,1,0,1

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。