欢迎来到天天文库
浏览记录
ID:31359428
大小:108.00 KB
页数:6页
时间:2019-01-09
《基于python求解偏微分方程的有限差分法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Python求解偏微分方程的有限差分法 (西安石油大学电子工程学院光电油气测井与检测教育部重点实验室,陕西西安710065) 摘要:偏微分方程的求解是很多科学技术问题的关键难点。随着计算机性能的不断提高,数值解法能够解复杂的偏微分方程并将计算结果图形化。相对于昂贵的科学计算软件,Python是一种免费的面向对象、动态的程序设计语言。有限差分法以其概念清晰,方法简单、直观等特点在偏微分方程的求解中得到了广泛的应用。文章对矩形区域的拉普拉斯方程进行数值求解,采用Numpy对有限差分法进行计算,运用Matplotli
2、b绘制等值线,输出迭代次数以及误差。 关键词:偏微分方程;Python;数值解法;有限差分法 中图分类号:TP3文献标志码:A文章编号:1006-8228(2016)11-14-03 Pythonprogrammedfinitedifferencemethodforsolvingpartialdifferentialequations WangDengyue,ZhangHongwei (Xi'anShiyouUniversity,ElectricEngineeringCollege,KeyLaboratory
3、ofPhotoElectricityGasandOilDetectingofMinistryofEducation,Xi'an,Shaanxi710065,China) Abstract:Tosolvethepartialdifferentialequations6(PDE)isakeydifficultpointinmanyscientificandtechnicalproblems.Withthedevelopmentofcomputerperformance,numericsolutioncansolveman
4、ysophisticatedPDEandvisualizethenumericresults.Ratherthantheexpensivesciencecomputingsoftware,Pythonisafreeobject-orientedlanguage,dynamicprogramminglanguage.Finitedifferencemethod(FDM)iswidelyusedforitsclear,simpleandintuitive.Laplaceprobleminarectangularareais
5、solvednumericallyinthearticle,computedthroughFDMwiththeNumpylibrary,visualizedthroughplottingthecontourbytheMatplotliblibrary,andthenumberofiterationandtheerroraregiven. Keywords:partialdifferenceequation;Python;numericsolution;finitedifferencemethod 0引言 在数学中
6、,偏微分方程是包含多变量和它们的偏导数在内的微分方程。偏微分方程通常被用来求解声、热、静态电场、动态电场、流体、弹性力学或者量子力学方面的问题[1]。这些现象能够被模式化的偏微分方程描述,正如一维动态系统通常会用常微分方程描述。为了更深入地理解上述各种现象,求解偏微分方程成为理解以及解释上述现象的关键。 1Python及相关模块简介6 Python是一种面向对象、动态的程序设计语言。具有非常简洁而清晰的语法,适合完成各种高层任务。它既可用来快速开发程序脚本,也可用来开发大规模的软件。随着Numpy,SciPy,Ma
7、tplotlib等众多程序库的开发,Python同样适合于做科学计算以及绘制高质量的2D和3D图像。与科学计算领域的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用更广泛,有更多的程序库的支持。 Numpy是使用Python进行科学计算的基础包:①它的基本类型是N-维阵列对象;②提供了功能强大的函数;③可以提供C/C++与Fortran代码的接口;④强大的线性代数计算,傅里叶变换以及随机数计算[2]。SciPy由一系列的数值计算和特定领域的工作箱构成,常用的工具箱包
8、括信号处理,优化算法以及统计等。 Matplotlib能够产生不同格式高质量的图片,该软件可以在不同的平台上使用,例如采用Python脚本,提供python或者Ipython的命令行接口(类似于Matlab或Mathematica)等等[3]。Matplotlib能够绘制直方图、功率谱图、残差图以及散点图等等。本次我们采用Mat
此文档下载收益归作者所有