MATHEMATICA 教程

NDSolve 中的"FixedStep"方法

引言

在数值积分中定步长使用固往往很有用.

例如:(步长加倍法)和 (外插法)都分别先做一系列定步长积分,然后将计算结果加以处理以得到更精确的,能够通过误差估计而采取自适应步长的方法.

定步长方法允许用定步长格式调用任何单步积分.

以下是装载样本问题和功用函数程序包.

In[3]:=
Click for copyable input

示例

定义一个例题.
In[5]:=
Click for copyable input
Out[5]=
以下是使用 方法以固定步长 1/10 求解一个微分方程 .
In[6]:=
Click for copyable input
Out[6]=
事实上, 方法中并没有自适应步长的功能,所以数值积分已经用了定步长计算的结果,因此,指定 是不必要的.
In[7]:=
Click for copyable input
Out[8]=
下图给出该问题用 (显格式龙格-库塔)计算时,步长的选取情况.
In[9]:=
Click for copyable input
Out[10]=
这指定在 (显格式龙格-库塔)方法中,应使用定步长.
In[11]:=
Click for copyable input
Out[12]=

选项 MaxStepFraction 给定了取决于积分区间的步长的绝对上界值.

因为 MaxStepFraction 的默认值是 1/10,本例中步长的上限值是积分区间的 1/10,所以定步长值是 1/20.
In[13]:=
Click for copyable input
Out[15]=
通过更改 MaxStepFraction 的值,步长的选取受积分区间大小的影响可减少,或者根本不受其影响.
In[16]:=
Click for copyable input
Out[17]=

选项总结

选项名称
缺省值
MethodNone指明使用定步长的方法

方法的选项

New to Mathematica? Find your learning path »
Have a question? Ask support »