-1

我正在学习如何使用 wxMaxima 来求解微分方程,但是我已经遇到了非常简单的 ODE 的问题。例如,如果我想求解逻辑微分方程并使用 ode2:

diffeq: 'diff(S,t)=g*S*(1-S/K);
ode2(diffeq,S,t);

千里马回归

(log(S-K)-log(S))/g=t+%c

而且我不知道为什么 Maxima 不能求解 S(t) 或者我如何才能获得 S(t)= xxx 形式的简单解。我尝试使用 logexpand() 等,但无法摆脱 log()。有没有办法获得更直接的解决方案,或者,有人可以推荐另一个免费软件来处理微分方程吗?

谢谢!

4

1 回答 1

1

我可以说服 Maxima 产生一种更直接可用的解决方案,只需稍加刺激即可。我会让你决定这是否有用。

(%i1) eq: (log(S-K)-log(S))/g=t+%c;
                  log(S - K) - log(S)
(%o1)             ------------------- = t + %c
                           g
(%i2) logcontract (%);
                           S - K
                       log(-----)
                             S
(%o2)                  ---------- = t + %c
                           g
(%i3) map (exp, %);
                           S - K
                       log(-----)
                             S
                       ----------
                           g          t + %c
(%o3)                %e           = %e
(%i4) lhs(%)^g = rhs(%)^g;
                      S - K     g (t + %c)
(%o4)                 ----- = %e
                        S
(%i5) solve (%, S);
                                  K
(%o5)               [S = - ----------------]
                             g t + %c g
                           %e           - 1

至于其他软件,你可以试试 Sympy (sympy.org)。我对它如何处理微分方程一无所知。

于 2019-04-15T00:26:51.807 回答