求解Mathematica中的微分方程

时间:2015-07-20 20:12:17

标签: wolfram-mathematica equation ode differential-equations dsolve

我在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

在我的情况下,我不能只是替换,因为有太多的方程,一些参数(系数)取消。

谢谢!

0 个答案:

没有答案