常微分方程在诸多研究领域中有着广泛应用,本文希望向大家介绍笔者于近期开发的R包ecode
,该包采用简洁易懂的语法帮助大家在R环境中构建常微分方程,并便利地调用R图形接口,研究常微分方程系统的相速矢量场、平衡点、稳定点等解析性质,或进行数值模拟,进行敏感性分析等。
下载与安装
目前,ecode
包只有测试版,并已挂载到了github平台上,详见HaoranPopEvo/ecode。安装步骤如下:
- 在网页中下载名为"ecode_0.0.0.9000.tar.gz"的压缩包。
- 在RStudio中单击“Tools > Install Packages…”,在弹出的对话框中选择Package Archive (.zip; .tar.gz),点击Browsing…按钮,在打开的文件浏览对话框中找到文件"ecode_0.0.0.9000.tar.gz",点击Install按钮,完成安装。
然后将ecode
包载入到R环境中:
library(ecode)
构建模型
要构建一个常微分方程系统,首先要利用eode()
函数。现考虑构建Lotka–Volterra竞争模型:
d x d t = ( r 1 − a 11 x − a 12 y ) x , ( 1 ) d y d t = ( r 2 − a 21 x − a 22 y ) y , ( 2 ) \frac{dx}{dt}=(r_1-a_{11}x-a_{12}y)x, \quad (1) \\ \frac{dy}{dt}=(r_2-a_{21}x-a_{22}y)y, \quad (2) dtdx=(r1−a11x−a12y)x,(1)dtdy=(r2−a21x−a22y)y,