資源描述:
《基于Python求解偏微分方程的有限差分法.pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、·14·ComputerEraNo.112016DOI:10.16644/j.cnki.cn33-1094/tp.2016.11.005基于Python求解偏微分方程的有限差分法*王登岳,張宏偉(西安石油大學(xué)電子工程學(xué)院光電油氣測(cè)井與檢測(cè)教育部重點(diǎn)實(shí)驗(yàn)室,陜西西安710065)摘要:偏微分方程的求解是很多科學(xué)技術(shù)問(wèn)題的關(guān)鍵難點(diǎn)。隨著計(jì)算機(jī)性能的不斷提高,數(shù)值解法能夠解復(fù)雜的偏微分方程并將計(jì)算結(jié)果圖形化。相對(duì)于昂貴的科學(xué)計(jì)算軟件,Python是一種免費(fèi)的面向?qū)ο?、?dòng)態(tài)的程序設(shè)計(jì)語(yǔ)言。有限差分法以其概念清晰,方法簡(jiǎn)單、直觀等特點(diǎn)在偏微分方程的求解中得到了廣
2、泛的應(yīng)用。文章對(duì)矩形區(qū)域的拉普拉斯方程進(jìn)行數(shù)值求解,采用Numpy對(duì)有限差分法進(jìn)行計(jì)算,運(yùn)用Matplotlib繪制等值線,輸出迭代次數(shù)以及誤差。關(guān)鍵詞:偏微分方程;Python;數(shù)值解法;有限差分法中圖分類號(hào):TP3文獻(xiàn)標(biāo)志碼:A文章編號(hào):1006-8228(2016)11-14-03PythonprogrammedfinitedifferencemethodforsolvingpartialdifferentialequationsWangDengyue,ZhangHongwei(Xi'anShiyouUniversity,ElectricEngi
3、neeringCollege,KeyLaboratoryofPhotoElectricityGasandOilDetectingofMinistryofEducation,Xi'an,Shaanxi710065,China)Abstract:Tosolvethepartialdifferentialequations(PDE)isakeydifficultpointinmanyscientificandtechnicalproblems.Withthedevelopmentofcomputerperformance,numericsolutioncan
4、solvemanysophisticatedPDEandvisualizethenumericresults.Ratherthantheexpensivesciencecomputingsoftware,Pythonisafreeobject-orientedlanguage,dynamicprogramminglanguage.Finitedifferencemethod(FDM)iswidelyusedforitsclear,simpleandintuitive.Laplaceprobleminarectangularareaissolvednum
5、ericallyinthearticle,computedthroughFDMwiththeNumpylibrary,visualizedthroughplottingthecontourbytheMatplotliblibrary,andthenumberofiterationandtheerroraregiven.Keywords:partialdifferenceequation;Python;numericsolution;finitedifferencemethod0引言序庫(kù)的開(kāi)發(fā),Python同樣適合于做科學(xué)計(jì)算以及繪制在數(shù)學(xué)中,偏微分方程
6、是包含多變量和它們的偏高質(zhì)量的2D和3D圖像。與科學(xué)計(jì)算領(lǐng)域的商業(yè)軟件導(dǎo)數(shù)在內(nèi)的微分方程。偏微分方程通常被用來(lái)求解Matlab相比,Python是一門(mén)通用的程序設(shè)計(jì)語(yǔ)言,比聲、熱、靜態(tài)電場(chǎng)、動(dòng)態(tài)電場(chǎng)、流體、彈性力學(xué)或者量子Matlab所采用的腳本語(yǔ)言的應(yīng)用更廣泛,有更多的程[1]序庫(kù)的支持。力學(xué)方面的問(wèn)題。這些現(xiàn)象能夠被模式化的偏微分方程描述,正如一維動(dòng)態(tài)系統(tǒng)通常會(huì)用常微分方程描Numpy是使用Python進(jìn)行科學(xué)計(jì)算的基礎(chǔ)包:①述。為了更深入地理解上述各種現(xiàn)象,求解偏微分方它的基本類型是N-維陣列對(duì)象;②提供了功能強(qiáng)大的程成為理解以及解釋上述現(xiàn)象的關(guān)
7、鍵。函數(shù);③可以提供C/C++與Fortran代碼的接口;④強(qiáng)[2]大的線性代數(shù)計(jì)算,傅里葉變換以及隨機(jī)數(shù)計(jì)算。1Python及相關(guān)模塊簡(jiǎn)介SciPy由一系列的數(shù)值計(jì)算和特定領(lǐng)域的工作箱構(gòu)成,Python是一種面向?qū)ο?、?dòng)態(tài)的程序設(shè)計(jì)語(yǔ)言。常用的工具箱包括信號(hào)處理,優(yōu)化算法以及統(tǒng)計(jì)等。具有非常簡(jiǎn)潔而清晰的語(yǔ)法,適合完成各種高層任Matplotlib能夠產(chǎn)生不同格式高質(zhì)量的圖片,該軟務(wù)。它既可用來(lái)快速開(kāi)發(fā)程序腳本,也可用來(lái)開(kāi)發(fā)大件可以在不同的平臺(tái)上使用,例如采用Python腳本,規(guī)模的軟件。隨著Numpy,SciPy,Matplotlib等眾多程提供py
8、thon或者Ipython的命令行接口(類似于Matlab收稿日期:2016-8-23*基金項(xiàng)