How to | 求解偏微分方程

Wolfram 语言的微分方程求解函数可以用于许多不同种类的微分方程,自动选择合适的算法,而无须用户进行预处理. 其中一种类型是偏微分方程(PDE).

使用 D 来求导,以下建立 输运方程, ,并把它存储为 pde

使用 DSolve 来求解方程,并且把解存储为 soln . DSolve 的第一个变量是一个方程,第二个变量是要求解的函数,而第三个变量是自变量组成的列表:

答案作为一个规则给出,并且 C [ 1 ] 是一个任意函数.

若要把解作为一个函数来使用,比方说 f [ x , t ] ,则使用 /. ReplaceAll 的简写形式)和 [ [ ... ] ] Part 的简写形式):

接着,您可以计算 f [ x , t ] 正如您即时任何其它函数一样:

您也可以通过使得 DSolve 的第一个变量为一个列表来增加一个初始条件,比如 . 该解被存储为 sol

使用 Plot3D 来绘制解:

到目前为止的例子中都使用 DSolve 来获取偏微分方程的符号解. 当一个给定的偏微分方程不包含参数时, NDSolve 可以被用来获取数值解. NDSolve 的结果作为 InterpolatingFunction 对象给出.

以下,由 NDSolve 产生的解被存储为 nsol1

使用 Plot3D 绘制解:

InterpolatingFunction 对象可以被计算、绘图以及使用在其它操作中.

nsol1 即可获得解 InterpolatingFunction 并且把它赋给新符号 nsol2

对于 x t 的指定值计算解:

使用 Plot3D 绘制解 nsol2

当偏微分方程包含参数, NDSolve 可以用于每个特定的参数值. 另外,用户可以建立一个使用 NDSolve 的函数,并且采用参数值.

使用 ? NumericQ 防止函数 fsol 对非数值参数值进行计算:

求对应于参数的某个特定值的解,在这个例子中,参数值为5:

使用 Plot3D 绘制解. Evaluate 是必须的,以使得计算以正确的顺序出现:

NDSolve 也可以与其他 Mathematica 函数一起使用, 比如 Manipulate .

求解对应于参数 k 的某个特定值的偏微分方程,然后绘制所得的解:

使用 DSolve 求解微分方程 高等微分方程的数值求解 PDE Models Overview A Passive Cochlear Model Brownian Motion in 2D and the Fokker-Planck Equation Heat Conduction in Some Standard Solids Convection-Diffusion in a Semi-Infinite Region How to: 解方程 How to: 绘制 NDSolve 的结果 How to: 操作微分方程组

DSolve NDSolve InterpolatingFunction Plot3D Manipulate Part ReplaceAll NumericQ

"How to" 分类主题