由于自己科研水平较低,记录的各种体会更多的是给自己做个小结,错误之处,欢迎大家指正。
使用MATLAB求解偏微分方程或者方程组,大致有三类方法。第一种是使用MATLAB中的PDE Toolbox,PDE Toolbox既可以使用图形界面,也可以使用命令行进行求解。最近版本的MATLAB中将工具箱称为APPS,有点像手机系统上的各种应用,Toolbox也确实有点像是基于MATLAB平台的各种应用。PDE Toolbox只能求解二维问题,另外不能求解刚性问题,PDE Toolbox是基于有限元方法的,其中装配矩阵函数assempde只适用于非刚性矩阵,所以类似反应过程的这类刚性问题对流扩散方程是无法使用PDE Toolbox求解的。第二种就是使用MATLAB中的m语言进行编程计算,相比与Fortran和C等语言,MATLAB中编程计算有许多库函数可以使用,对于大型矩阵的运算也要方便的多。当然使用m语言编程计算也有劣势,如循环计算的效率很低,所以在MATLAB中尽量使用向量运算代替循环运算。第三种就是使用pdepe函数,MATLAB中pdepe函数的作用是求解一维抛物型和椭圆形方程。
通过pdepe函数的m文件代码或者查阅help文档中所附的参考文献,可以得知pdepe函数是基于线上法(method of lines,MOL)求解一维的抛物型和椭圆型方程的。通过Find Files可以在MATLAB中找到pdepe函数的m文件代码,除去说明型文字,整个pdepe函数仅有250行左右的代码。线上法的核心在于使用近似方法对偏微分方程的空间微分项进行离散,空间微分项离散后,偏微分方程将转化为不再显含空间独立变量的常微分方程组。MATLAB中pdepe函数主要基于的文献[1]即针对线上法的空间项离散提出一种新的方法。实际上MOL在求解偏微分方程的诸多方法中,只能算是非主流。
pdepe函数求解的偏微分方程形式为:
$c(x,t,u,{ {\partial u} \over {\partial x}}){ {\partial u} \over {\partial t}} = {x^{ - m}}{\pa

本文介绍了如何使用MATLAB的pdepe函数解决一维抛物型和椭圆型偏微分方程,讨论了PDE Toolbox的局限性,并通过一个气固对流换热过程的示例详细阐述了pdepe函数的使用方法,包括控制方程、初始条件和边界条件的设置。
最低0.47元/天 解锁文章
2244

被折叠的 条评论
为什么被折叠?



