【问题标题】:problems with DSolve in MathematicaMathematica 中 DSolve 的问题
【发布时间】:2011-12-09 21:34:38
【问题描述】:

我想用 Mathematica 7 求解这个微分方程组,但我发现一个错误,指出函数的指定不依赖于所有自变量。 方程是:

感谢大家的帮助

【问题讨论】:

  • 用 x 或 y 进行索引/下标是否有任何特殊含义(如区分)还是 r_x 只是一个名称?
  • 它更像是一个微分方程序列而不是一个系统......

标签: wolfram-mathematica differential-equations


【解决方案1】:

我手边没有 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]

【讨论】:

  • 第 7 版和第 8 版给出了相同的答案,似乎是正确的。
  • 您的y'[t] 等式中的g2 之前似乎缺少- 符号。如果你解决这个问题,DSolve 会有点挣扎。
  • 是的,我确实错过了那个标志。对于那个很抱歉。似乎还有其他悬而未决的问题,例如 \gamma_x 的含义等。
【解决方案2】:

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


现在解决 DEs 系统。你可以先解决xDE:

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])

【讨论】:

  • 西蒙,恭喜你获得 10K! :D
  • (顺便说一句,我不投票只是因为我只是路过,而不是真正阅读答案,但是当我看到 Simon 10k 时我不得不说些什么。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多