Mathematica中DSolve的问题

时间:2011-12-09 21:34:38

标签: wolfram-mathematica differential-equations

我想用Mathematica 7解决这个微分方程系统,但是我发现了一个错误,指出函数是在没有依赖所有自变量的情况下指定的。 方程是: enter image description here

感谢大家的帮助

2 个答案:

答案 0 :(得分:2)

我没有方便的V7,但这有帮助吗?

DSolve[{D[x[t], t] == r1 - g1 x[t], 
  D[y[t], t] == k2 x[t]/(K + x[t]) g2 y[t]}, {x, y}, t]

答案 1 :(得分:0)

关于您看到的错误,如果没有看到您的代码,很难确切地说出您做错了什么。但希望下面的代码可以帮助澄清你碰巧犯的错误。


现在解决DEs系统。您可以先解决x DE:

In[1]:= xSoln = DSolve[{x'[t] == r1 - g1 x[t]}, x, t]

Out[1]= {{x -> Function[{t}, r1/g1 + E^(-g1 t) C[1]]}}

这可以代入y DE,得到一阶线性非齐次微分方程,可用积分因子求解。

In[2]:= y'[t] == k2 x[t]/(k + x[t]) - g2 y[t] /. xSoln[[1]]

Out[2]= y'[t] == - g2 y[t]  
                 + (k2 (r1/g1 + E^(-g1 t) C[1]))/(k + r1/g1 + E^(-g1 t) C[1])

调用不均匀的混乱f[t],因此DE为y'[t] == f[t] - g2 y[t]。 Mathematica可以解决这个问题

In[3]:= y[t] /. DSolve[y'[t] == f[t] - g2 y[t], y, t][[1]]

Out[3]= C[1] E^(-g2 t) + E^(-g2 t) Integrate[E^(g2 K[1]) f[K[1]], {K[1], 1, t}]

请注意,集成常量C[1]x[t]解决方案中的不一致。 此外,当您以f[t]的显式形式替换时,Mathematica不能以封闭形式进行积分。

所以我们能做的最好的就是

x[t] == r1/g1 + E^(-g1 t) C[1]
y[t] == C[2] E^(-g2 t) + E^(-g2 t) Integrate[E^(g2 s) f[s], s]

其中

f[s] == k2 (r1 E^(g1 s) + g1 C[1])/((g1 k + r1)E^(g1 s) + g1 C[1])