我想求解以下方程:
DSolve[u''[x]+k^2 u[x], u[x],x]
如果k^2<0解决方案为
u[x]-> C[1] e^(kx) + C[2] e^(-kx)
如果k^2>0,则解决方案为
u[x] -> C[1] Sin [kx] + C[2] Cos[kx]
在我的方程式中
k^2=(a-b)/(c-d)
当b>a和c>d时,意味着k^2<0
当我把这个方程插入Mathematica时,它反转了符号,给了我指数解,而不是余弦解。
有人知道如何将假设或条件代入等式吗?还是在两者之间打补丁,这样我就能得到真正的解决方案?
干杯
引入一个常数k2n
,它是假定负k^2
:的负值
First@DSolve[{u''[x] - k2n u[x] == 0 }, u[x], x]
E^(Sqrt[k2n]x)C[1]+E^(-Sqrt[knn]x
现在我们知道了k2n>0
,所以用代替
% /. Sqrt[k2n] -> k
E^(kx)C[1]+E^(-kx)C[2]
一般来说,我认为没有办法告诉DSolve
对参数进行假设。