How to| 绘制 NDSolve 的结果

NDSolve 对微分方程进行数值求解. 它所返回的解,其形式很容易用于多种不同方式. 其中一个典型的用法是生成解的图形.

以初始条件为 的方程 为例:

In[7]:=
Click for copyable input

NDSolve 中,方程为第一个参数,要求解的函数 为第二个参数,独立变量的变化范围为第三个参数:

In[8]:=
Click for copyable input
Out[8]=

绘制解的图形:

In[9]:=
Click for copyable input
Out[9]=
Out[3]=
Click for copyable input

常常需要将解与其导数(或多个独立变量)绘制在一起. 用 Evaluate 将您所要绘制的内容包括,可以将它们以不同的颜色显示:

In[10]:=
Click for copyable input
Out[10]=

对于自由度为两个和三个的系统,在相平面内的图形往往更有助益. 这可以用 ParametricPlot 来实现:

In[11]:=
Click for copyable input
Out[11]=

Manipulate 用于相平面图形,使您很容易对初始条件进行改变:

Locator 的输入允许您拖动点以改变初始条件. 参数 允许您对所求解问题的区间进行控制.

对于偏微分方程,往往存在多种选择. 这里以 Wolfram 的非线性波动方程为例 [更多信息]:

In[7]:=
Click for copyable input
Out[7]=

获得解的全局视图的一个好方法是使用 Plot3D

In[8]:=
Click for copyable input
Out[8]=

另一种方法是 DensityPlot,它往往能对解的细节提供更多有用信息:

In[9]:=
Click for copyable input
Out[9]=

对于这类时间演变方程,最好的直觉往往来自动画. 使用 ListAnimate 往往能够得到最佳结果. 首先生成一个用相等时间间隔分开的图形列表,全部具有相同的 PlotRange

In[10]:=
Click for copyable input

现在生成列表的动画:

In[11]:=
Click for copyable input
Out[11]=

在这种情形中,看到波动有一定难度,因为变化的背景来自一个零初始条件. 解决这个问题的一个简单方法是求解对应的常微分方程,并将它消掉:

In[12]:=
Click for copyable input
Out[12]=
In[13]:=
Click for copyable input
In[14]:=
Click for copyable input
Out[14]=