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
私の場合、方程式が多すぎて一部のパラメーター (係数) がキャンセルされるため、単に代用することはできません。
ありがとう!