我想使用mathematica的DSolve函数解决两个ODE的系统。以下是我写下来的内容:
DSolve[{x'[t] == 0.02*x - .00004*x*y, y'[t] == .0004*x*y - .04*y,
x[0] == 500, y[0] == 200}, {x[t], y[t]}, t]
但由于某种原因,它只是一直告诉我方程式返回true,我不应该在我的语法中使用它,并且它不会解决它。不确定为什么会发生这种情况或如何解决它。
答案 0 :(得分:0)
DSolve :: dvnoarg:函数x出现时没有参数。 >>
您应该在方程中放置x[t]
而不是x
。
NIntegrate :: nlim:K [1] = x [t]不是有效的积分限制。 >>
你应该使用数值解,因为分析存在问题。
s = NDSolve[
{
x'[t] == 0.02*x[t] - .00004*x[t]*y[t],
y'[t] == .0004*x[t]*y[t] - .04*y[t],
x[0] == 500,
y[0] == 200
}, {x, y}, {t, 0, 100}]
Plot[{Evaluate[x[t] /. s], Evaluate[y[t] /. s]}, {t, 0, 100}]