我正在学习如何使用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()。有没有办法获得更直接的解决方案,或者有人可以推荐另一个免费软件来处理微分方程?
谢谢!
答案 0 :(得分: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)。我对它如何处理微分方程一无所知。