我有一个在 Mathematica(第 10 版)中求解微分方程的语法问题。
我需要求解的方程的输入如下:
solv = DSolve[{ a*u''[y] - b*u[y] == d, u'[0] == 0, u[1] == 0}, u, {y, -1, 1}]
在使用 ExpToTrig 和 FullSimplify 之后,我得到了我正在寻找的答案:
(d (-1 + Cosh[(Sqrt[b] y)/Sqrt[a]] Sech[Sqrt[b]/Sqrt[a]]))/b
但是,当我想在方程中放置更多系数时,我的问题就来了。例如:
solv = DSolve[{ a* u''[y] - b* c* u[y] == d, u'[0] == 0, u[1] == 0}, u, {y, -1, 1}]
这一次,我得到:
FullSimplify[ExpToTrig[Evaluate[u[y] /. solv]]]
下一个答案:
(d (1 + E^((2 Sqrt[b] Sqrt[c])/Sqrt[a]) - E^(-((Sqrt[b] Sqrt[c] (-1 + y))/Sqrt[a])) - E^((Sqrt[b] Sqrt[c] (1 + y))/Sqrt[a])) (-1 + Tanh[(Sqrt[b] Sqrt[c])/Sqrt[a]]))/(2 b c)
相反,当我合并 b 和 c(替代:bc=b*c)时:
solv = DSolve[{ a*u''[y] - bc*u[y] == d, u'[0] == 0, u[1] == 0}, u, {y, -1, 1}]
我得到:
(d (-1 + Cosh[(Sqrt[bc] y)/Sqrt[a]] Sech[Sqrt[bc]/Sqrt[a]]))/bc
在我的情况下,我不能只是替代,因为有太多的方程和一些参数(系数)取消。
谢谢!