主要内容

解捕食方程

这个例子展示了如何解决微分方程代表一个捕食者和猎物模型使用ode23数值。这些函数是常微分方程的数值解,利用可变步长龙格-库塔积分方法。ode23使用一个简单的第二和第三顺序对公式的准确性和媒介数值使用一对第四和第五阶精度高。

考虑一阶常微分方程称为生态方程,或捕食模型:

dx dt = x - - - - - - α xy dy dt = - - - - - - y + β xy

的变量 x y 测量的猎物和捕食者种群的大小,分别。二次交叉项占物种之间的相互作用。猎物人口增长没有捕食者存在时,捕食者人口减少,当猎物稀缺。

代码方程

模拟系统,创建一个函数,它返回一个列向量的衍生品,给国家和时间值。这两个变量 x y 可以在MATLAB®作为第一个在一个向量两个值吗y。同样,金融衍生品是第一个两个值在一个向量yp。函数必须接受的值ty和返回值产生的方程yp

yp(1) =(1 -α* y (2)) * y (1)

yp(2) =(1 +β* y (1)) * y (2)

在本例中,文件中包含的方程lotka.m。这个文件使用的参数值 α = 0 01 β = 0 02

类型洛特卡
函数yp =洛特卡(t, y) %洛特卡捕食生态模型。% 1984 - 2014版权MathWorks公司yp =诊断接头([1 - . 01 * y (2), 1 + .02 * y (1))) * y;

模拟系统

使用ode23解决微分方程中定义洛特卡在时间间隔 0 < t < 15 。使用一个初始条件 x ( 0 ) = y ( 0 ) = 20. 所以,捕食者和猎物的数量是相等的。

t0 = 0;tfinal = 15;y0 = [20;20);[t、y] = ode23 (@lotka t0 tfinal, y0);

阴谋的结果

情节产生的数量和时间。

情节(t, y)标题(捕食者和猎物种群随时间的)包含(“t”)ylabel (“人口”)传说(“猎物”,“捕食者”,“位置”,“北”)

图包含一个坐标轴对象。坐标轴对象与标题捕食者和猎物的数量随着时间的推移,包含t, ylabel人口包含2线类型的对象。这些对象代表猎物,捕食者。

现在画出数量。由此产生的相平面阴谋使种群之间的循环关系非常清楚。

情节(y (: 1), y(:, 2))标题(“相平面的阴谋”)包含(“猎物人口”)ylabel (捕食者种群的)

图包含一个坐标轴对象。坐标轴对象与标题相平面情节,包含猎物人口,ylabel捕食者种群包含一个类型的对象。

比较结果不同的解决者

解决系统第二次使用数值,而不是ode23。的数值解算器为每个步骤需要更长的时间,但是它也需要更大的步骤。然而,的输出数值是光滑的,因为默认情况下,解算器使用一个连续扩展公式生成输出四等距的时间点在每一步。(你可以调整点的数量“完善”选择。)情节比较的两种解决方金宝搏官方网站案。

[T、Y] =数值(@lotka t0 tfinal, y0);情节(y (: 1), y (:, 2),“- - -”Y (: 1), Y (:, 2),“- - -”);标题(“相平面的阴谋”)传说(“ode23”,“数值”)

图包含一个坐标轴对象。坐标轴对象与标题相平面情节包含2线类型的对象。这些对象代表ode23,数值。

结果表明,使用不同的数值方法求解微分方程可以产生不同的答案。

另请参阅

|

相关的话题