我要同时解3个ODE。使用哪种方法?
1次观看(过去30天)
显示旧的注释
我要同时解3个ODE。应该用什么方法来解这些方程??我试图用ode45方法解决它,但我无法得到答案。
dx1/df = F(F, x1, x2, x3)]
dx2/df = F(F, x1, x2, x3)
dx3/df = F(F, x1, x2, x3)
F = [0.5 1]
X1 (0.5)=0.185, x2(0.5)= 0.285, x3(0.5)= 0.53
Gamma = 0.577;
xo1 = 0.185;xo2 = 0.285;xo3 = 0.53;
θ= 0.5;
q1 = 1;Q2 = 0.317;Q3 = 0.065;
F (x1, F) = ((q1) * (x1-gamma * (x1 * F - (xo1 * (1-theta))) / (F - (1-theta))) x1 * (x1-gamma * (x1 * F - (xo1 * (1-theta))) / (F - (1-theta)) + q2 * (x2-gamma * (x2 * F - (xo2 * (1-theta))) / (F - (1-theta))) +第三季度* (x3-gamma * (x3 * F - (xo3 * (1-theta))) / (F - (1-theta)))) * F) / (((x1-gamma * (x1 * F - (xo1 * (1-theta))) / (F - (1-theta))) + q2 * (x2-gamma * (x2 * F - (xo2 * (1-theta))) / (F - (1-theta))) +第三季度* (x3-gamma * (x3 * F - (xo3 * (1-theta))) / (F - (1-theta)))) * F);
F (x2, F) = ((q2) * (x2-gamma * (x2 * F - (xo2 * (1-theta))) / (F - (1-theta))) x2 * (x1-gamma * (x1 * F - (xo1 * (1-theta))) / (F - (1-theta)) + q2 * (x2-gamma * (x2 * F - (xo2 * (1-theta))) / (F - (1-theta))) +第三季度* (x3-gamma * (x3 * F - (xo3 * (1-theta))) / (F - (1-theta)))) * F) / (((x1-gamma * (x1 * F - (xo1 * (1-theta))) / (F - (1-theta))) + q2 * (x2-gamma * (x2 * F - (xo2 * (1-theta))) / (F - (1-theta))) +第三季度* (x3-gamma * (x3 * F - (xo3 * (1-theta))) / (F - (1-theta)))) * F);
F (x3, F) = ((q3) * (x3-gamma * (x3 * F - (xo3 * (1-theta))) / (F - (1-theta))) x3 * (x1-gamma * (x1 * F - (xo1 * (1-theta))) / (F - (1-theta)) + q2 * (x2-gamma * (x2 * F - (xo2 * (1-theta))) / (F - (1-theta))) +第三季度* (x3-gamma * (x3 * F - (xo3 * (1-theta))) / (F - (1-theta)))) * F) / (((x1-gamma * (x1 * F - (xo1 * (1-theta))) / (F - (1-theta))) + q2 * (x2-gamma * (x2 * F - (xo2 * (1-theta))) / (F - (1-theta))) +第三季度* (x3-gamma * (x3 * F - (xo3 * (1-theta))) / (F - (1-theta)))) * F);
接受的答案
保罗
2021年9月6日
这条线:
Dy = 0 (4,1);
需要替换为:
Dy = 0 (3,1);
在这之后,请注意dy(1)的方程在f = 0.5时计算为NaN,在f = 0时计算为-Inf(我只研究了0到1之间的问题)。在原始问题中,它指出ode45的tspan输入是[0.5 1]。这就有问题了因为dy在f = 0.5处的初始值是NaN这就破坏了整个解。我从[0.51 1]运行,得到了一个非nan结果。在后续注释中,用户输入tspan限制。如果这些限制导致解算器达到f = 0或f = 0.5,那么就有问题了。所以我想真正的问题是如果dy的方程中有这些奇点如果求解者要通过它们来积分的话应该如何处理它们。