我想用 Mathematica 7 求解这个微分方程组,但我发现了一个错误,指出该函数是在不依赖所有自变量的情况下指定的。方程是:
谢谢大家的帮助
我想用 Mathematica 7 求解这个微分方程组,但我发现了一个错误,指出该函数是在不依赖所有自变量的情况下指定的。方程是:
谢谢大家的帮助
我手边没有 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]
关于您看到的错误,如果没有看到您的代码,很难准确地说出您做错了什么。但希望下面的代码将有助于澄清您碰巧犯的任何错误。
现在解决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])