Mathematica 8 中的 DSolve[] 命令有问题。求解以下 4 阶微分方程会产生一个复杂的解,尽管它应该是一个真实的解。方程是:
y''''[x] + a y[x] == 0
手动求解这个方程会产生一个只有实部的解。所有常数和边界条件也是实数。
我手动得到的解决方案是:
y1[x_] = (C[5] E^(Power[a, (4)^-1]/Power[2, (2)^-1] x) +
C[6] E^(-(Power[a, (4)^-1]/Power[2, (2)^-1]) x)) Cos[
Power[a, (4)^-1]/Power[2, (2)^-1]
x] + (C[7] E^(Power[a, (4)^-1]/Power[2, (2)^-1] x) +
C[8] E^(-(Power[a, (4)^-1]/Power[2, (2)^-1]) x)) Sin[
Power[a, (4)^-1]/Power[2, (2)^-1] x];
现在我必须求解常数 C[5]...C[8]。这会产生类似的问题。我使用带有边界条件的 Solve[] 命令
Solve[{y1''[-c] == ic0, y1''[c] == ic0 , y1'''[-c] == ic1 ,
y1'''[c] == - ic1 }, {C[5], C[6], C[7], C[8]} ];
如果使用 //Simplify,常数 C[5]...C[8] 现在为实数,如果使用 //FullSimplify,则为复数。
知道原因是什么吗?可以在以下位置下载带有我计算的笔记本:http: //dl.dropbox.com/u/4920002/DGL_4th_Order_with_own_solution.nb
在进一步的工作中,我必须使用 DSolve[] 并且我想在这里了解这个问题。
谢谢,
安德烈亚斯