2012-09-04 271 views
0

我在mathematica 8中遇到了一個DSolve []命令的問題。解決以下四階微分方程吐出了一個複雜的解決方案,儘管它應該是一個真實的解決方案。 的公式爲:解決簡化生成真正的解決方案並全面解決簡化複雜的解決方案?

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[{y1''[-c] == ic0, y1''[c] == ic0 , y1'''[-c] == ic1 , 
y1'''[c] == - ic1 }, {C[5], C[6], C[7], C[8]} ]; 

常數C [5] ... C [8]現在實際使用是否//簡化,並且如果使用複雜// FullSimplify。

任何想法是什麼原因? 我計算的筆記本電腦可以在以下網址下載: http://dl.dropbox.com/u/4920002/DGL_4th_Order_with_own_solution.nb

在進一步的工作,我必須使用DSolve []我想了解這裏的問題。

感謝,

安德烈亞斯

回答

1

我認爲你的一些語句取決於細節。例如一些參數C[]的可以是複雜的數字,如果你選擇a<0

parS = Solve[{y1''[-c] == ic0, y1''[c] == ic0, y1'''[-c] == ic1, 
    y1'''[c] == -ic1}, {C[5], C[6], C[7], C[8]}] // Simplify; 
parFS = Solve[{y1''[-c] == ic0, y1''[c] == ic0, y1'''[-c] == ic1, 
    y1'''[c] == -ic1}, {C[5], C[6], C[7], C[8]}] // FullSimplify 

parS /. {a -> -2, c -> 10, ic0 -> 1, ic1 -> -1} // N 
parFS /. {a -> -2, c -> 10, ic0 -> 1, ic1 -> -1} // N 

(* {{C[5] -> -0.35876 - 2.498*10^-15 I, C[6] -> -0.35876 - 2.498*10^-15 I, 
    C[7] -> 2.27596*10^-15 - 0.358762 I, C[8] -> -2.27596*10^-15 + 0.358762 I}} 

    {{C[5] -> -0.35876 + 5.10703*10^-15 I, C[6] -> -0.35876 + 5.10703*10^-15 I, 
    C[7] -> 2.35922*10^-15 - 0.358762 I, C[8] -> -2.19269*10^-15 + 0.358762 I}} *) 

除了這一點,你可以得到解決您的問題,一條線,實際上它似乎是一個真正的功能(除了數字):

sol[a_, ic0_, ic1_, c_, x_] = y[x] /. DSolve[{y''''[x] + a y[x] == 0, y''[-c] == ic0, 
    y''[c] == ic0, y'''[-c] == ic1, y'''[c] == -ic1}, y[x], x][[1]] ; 

Plot[Im[sol[-2.0, 1.0, -1.0, 10., x]], {x, -10., 10.}] 
Plot[Re[sol[-2.0, 1.0, -1.0, 10., x]], {x, -10., 10.}] 

Im Re

+0

嗨,謝謝你的回答。 我忘了給我的筆記本下載鏈接。它可以下載: http://dl.dropbox.com/u/4920002/DGL_4th_Order_with_own_solution.nb 我也得到了這種符號計算的行爲(在筆記本y3 [x]是真實和y4 [x]是複雜的)。 也爲> 0我得到複數常量 – user1622055

0

既然你交叉張貼的問題Mathematica.SE,我給了一個答案在那裏。問題的關鍵在於,即使對於a,的實際值和正值,四階微分方程的一般解決方案也是複雜的。期。如果您碰巧只對真正的解決方案感興趣,請致電it is possible to extract them