Matcont的基本操作
Olive 内蒙古大学
Matcont是研究分岔的一个很强大的数学软件。它可以绘制含参数的常微分方程组的轨线、平衡点曲线,还能检测具体的分岔,如余维1分岔中的Limit Point(Fold)bifurcation (LP),Hopf bifurcation (H), Branch Point(BP) ,Limit Point bifurcation of cycles (LPC), Period doubling bifurcation (PD), (注:它也会检测中立鞍点(Neutral Saddle)且在平衡点分岔图中也用H标记,因此,我们在研究分岔过程时要注意区分。)以及余维2分岔中的Cups bifurcation (CP), Bogdanov-Takens bifurcation (BT), Generalized Hopf (Bautin) Bifurcation (GH)等分岔。具体的分岔与matcont中的标记见下表: 下面将通过一个具体的实例来展示matcont 的简单应用,以神经元模型——ML 模型为例,模型如下:
这里,我们以I 为分岔参数,其他参数值如下:V3=2, V4=30, 04.0=Φ,
0.5=ca g
对这个模型,我们可以利用matcont 画它的相图、平衡点分岔图、由Hopf 分岔产生的极限环以及平衡点的双参分岔。因为系统的相图用matlab 函数如ode45等可以很容易地实现,因此这里就不多说了。maxstep
首先,在确保当前路径是matcont2.4的前提下,在Matlab 命令窗口中输入matcont 回车,便出现matcont 主窗口 点击Select\Systems\New,出现名为“Systems”的窗口
我们可以在这个窗口里创建我们的模型了,创建结果如下:
1:平衡点分岔图
(1)创建成功后,点击Type\ Initial Point\ Equilibrium,这时会自动出现“Starter”和“continuer”两个窗口。
(2)在“Starter”窗口里设置变量v和n的初值及各参数的值,并且点击参数I前面的小圆圈,这表示以I为分岔参数,如下图所示。这里需要注意的是变量的初值应该是某组参数配置下的平衡点或者在平衡点附近,否则在画分岔图时会出现不收敛的提示。
(3)在“continuer”窗口中可以对步长、容忍度等进行设置,不过一般情况下取默认值即可。这里的Maxstepsize的默认值为0.1,如果希望计算的快一些,可以将它设的大一点,比如 Maxstepsize:1。需要注意的是Maxstepsize设的太大会导致一些分岔点无法检测出来,设的太小会导致运算速度变慢。
(4)点击matcont主窗口中的Windows\ Plot\ 2D-plot
在2D-Plot窗口中点击“Attribute”,可分别设置横纵坐标及其范围,此处设横标为分岔参数I,纵标为变量v.
(5)点击matcont主窗口中的compute\ forward就开始计算平衡点了,ready后再点击compute\ backrward计算反方向的平衡点,点击compute\Extend表示以上一次计算的末值为初值,继续计算平衡点曲线。最后的到平衡点分岔图如下: