我想用Mathematica 7解决这个微分方程系统,但是我发现了一个错误,指出函数是在没有依赖所有自变量的情况下指定的。 方程是:
感谢大家的帮助
答案 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])