資源描述:
《matlab求解pde問(wèn)題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、MATLAB求解PDE問(wèn)題(1)——概述、例子已有2363次閱讀2010-10-1214:57
2、個(gè)人分類(lèi):生活點(diǎn)滴
3、系統(tǒng)分類(lèi):科研筆記
4、關(guān)鍵詞:MATLABPDEToolbox橢圓型方程有限元方法MATLABPDEToolbox提供利用有限元方法求解偏微分方程的GUI以及相應(yīng)的命令行函數(shù)。利用該工具箱可以求解橢圓型方程、拋物型方程、雙曲型方程、特征值方程以及非線性方程。PDEToolbox的功能非常強(qiáng)大,網(wǎng)上有許多利用PDEToolbox解決各種物理問(wèn)題的論文,還有專門(mén)介紹工具箱的參考書(shū)。網(wǎng)上的例子雖然
5、很多,但是大部分是介紹PDE工具箱自帶的一些例子,這些例子中解的區(qū)域,邊界條件是PDE工具箱已經(jīng)編寫(xiě)好的,直接調(diào)用就可以。對(duì)于該如何自己設(shè)定求解區(qū)域及邊界條件,卻很少有人涉及。網(wǎng)上搜索發(fā)現(xiàn)只有劉平在博客中詳細(xì)介紹過(guò)求解區(qū)域的設(shè)定。下面以一個(gè)橢圓型方程的例子來(lái)詳細(xì)說(shuō)明求解的各個(gè)步驟,希望對(duì)大家能有所幫助。設(shè)要求如下形式的橢圓方程的解:按照PDE的要求,將方程化為標(biāo)準(zhǔn)形式求解后的圖像如下,第一幅圖是解的圖像,第二幅是計(jì)算誤差。從第二幅圖-3可以看到,計(jì)算的最大誤差是10方量級(jí)。通過(guò)這個(gè)例子我們可以基本掌握P
6、DE求解偏微分方程的步驟和方法,后面我將詳細(xì)介紹如何設(shè)置區(qū)域及邊界條件。掌握了區(qū)域和邊界條件的設(shè)定,就可以輕松求解遇到的偏微分方程了。圖后是附帶的matlab命令以及注釋,并提供m文件附件下載,下載后解壓即可。希望能對(duì)大家有所幫助。下面是編寫(xiě)的求解上述方程的matlab語(yǔ)句及說(shuō)明:g='mygeom';b='mybound';定義區(qū)域,邊界條件。mygeom是定義區(qū)域的子函數(shù)名,函數(shù)名可根據(jù)自己的需要取定,區(qū)域的確定規(guī)則由pdegeom函數(shù)說(shuō)明,注意pdegeom函數(shù)只是說(shuō)明如何定義區(qū)域,它并不直接確定
7、區(qū)域;mybound是定義邊界條件的子函數(shù)名,與區(qū)域類(lèi)似,邊界的確定規(guī)則由函數(shù)pdebound確定。后面我會(huì)詳細(xì)介紹區(qū)域和邊界的取法。[p,e,t]=initmesh(g);網(wǎng)格初始化,此處也可以寫(xiě)成[p,e,t]=initmesh('mygeom');這樣可以省略上面的語(yǔ)句[p,e,t]=refinemesh(g,p,e,t);[p,e,t]=refinemesh(g,p,e,t);加密網(wǎng)格兩次,需要加密幾次重復(fù)幾次即可,根據(jù)具體問(wèn)題確定加密次數(shù)U=assempde(b,p,e,t,1,0,'2*(x
8、+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為邊界條件,此處也可以寫(xiě)為'mybound',p,e,t,為網(wǎng)格參數(shù),c,a,f,為方程的參數(shù),后面也可以加猜測(cè)值以及各種屬性。pdesurf(p,t,U)gridon;xlabel('x');ylabel('y');zlabel('u')colorbarview([6030])畫(huà)出解的圖形。注
9、意,為了讓結(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');zlabel('error')colorbarview([6030])由于方程有解析解,我們可以比較數(shù)值計(jì)算的誤差。如果能求得解析解,我們也不會(huì)設(shè)計(jì)各種方法求數(shù)值解
10、了,因此,這一步在大多數(shù)情況下是用不上的,這里只是為了比較計(jì)算結(jié)果,驗(yàn)證計(jì)算的精度。m文件下載MATLAB求解PDE問(wèn)題(2)——確定幾何區(qū)域已有1327次閱讀2010-10-1218:58
11、個(gè)人分類(lèi):生活點(diǎn)滴
12、系統(tǒng)分類(lèi):科研筆記
13、關(guān)鍵詞:MATLABPDE幾何區(qū)域pdegeom前一篇介紹了如何利用Matlab求解橢圓型方程,下面介紹如何確定求解的幾何區(qū)域。PDEToolbox中規(guī)定幾何區(qū)域的m文件是pdegeom.m。但是pdegeom并不是一個(gè)可以調(diào)用的函數(shù),它只是規(guī)定了應(yīng)該何如定義區(qū)域,具體的區(qū)域
14、則要根據(jù)研究的問(wèn)題來(lái)決定。函數(shù)pdegeom釋義如下:參數(shù)為0個(gè)時(shí),即沒(méi)有參數(shù)時(shí),返回邊界的段數(shù);參數(shù)為1個(gè)時(shí),即只有bs,返回輸出區(qū)域邊界的參變量范圍矩陣d;參數(shù)為2個(gè)時(shí),返回每段邊界長(zhǎng)度為s時(shí)的坐標(biāo)。函數(shù)參數(shù)意義bs表示指定的邊緣線段,如矩形邊界為四段,三角開(kāi)邊界肯定為三段…。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è)