我想关注此research paper。我试图复制第20页图7中的解决方案图。我有一个图7的屏幕截图:如何在MATLAB中绘制非线性微分方程组的解?
我首先想重新创建左侧图片。有问题的系统是我的dX
。以下是我在一个m文件:
function dX = CompetitionModel(t,X)
bs = 8*10^(-3);
bl = 4*10^(-3);
bh = 6.4*10^(-3);
N = bs + bl + bh;
K = 10^8;
m1 = 2*10^(-5);
m2 = 9*10^(-9);
p = 5*10^(-13);
I = 10^(-3);
T = 0;
a = 0;
dX = [X(1) * (bs * (1 - N/K) - I - T - m1) - p * X(1) * (X(2) + X(3));
X(2) * (bl * (1 - N/K) - I - a*T - m2) + m1 * X(1) + p * X(2) * (X(1) - X(3));
X(3) * (bh * (1 - N/K) - I - a*T) + m2 * X(2) + p * X(3) * (X(1) + X(2))];
end
ode45
的语法是:[T,Y] = solver(odefun,tspan,y0)
。我从我发布的图片中获得了tspan。我的初始条件是:S0 = 10^4; Rl0 = 0; Rh0 = 0
,所以这就是我的y0
。我键入以下命令窗口:
>>[t,X1] = ode45('CompetitionModel', [0,45000], [10^4, 0, 0]);
>>[t,X2] = ode45('CompetitionModel', [0,45000], [10^4, 0, 0]);
>>[t,X3] = ode45('CompetitionModel', [0,45000], [10^4, 0, 0]);
MATLAB一直忙于在过去的30分钟,我的笔记本电脑开始变得非常热。所以我不能在绘制完成之前进行绘图,我不知道我的代码中是否有任何错误。我想知道是否有更好的方式可以获得系统dX
的解决方案。
谢谢你纠正我的错误。我想我理解“阶段性肖像”是DEs系统解决方案的情节。你已经清除了我的困惑。非常感谢您的时间。 –