0

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]} ];

定数 C[5]...C[8] は、//Simplify を使用すると実数になり、//FullSimplify を使用すると複素数になります。

理由は何ですか?私の計算を含むノートブックは、http: //dl.dropbox.com/u/4920002/DGL_4th_Order_with_own_solution.nbからダウンロードできます。

今後の作業では、DSolve[] を使用する必要があり、ここで問題を理解したいと思います。

ありがとう、

アンドレアス

4

2 に答える 2

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}} *)

この点に加えて、問題の解決策を1行で取得できます。実際、それは実際の関数のようです(数値は別として):

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.}]

私は レ

于 2012-09-04T08:11:05.043 に答える
0

Mathematica.SEに質問をクロスポストしてくださったので、そこで回答しました。重要な点は、 が実数で正の値であってもa4 次微分方程式の一般的な解は 複素数 であるということです。限目。本当の解だけに興味がある場合は、それらを抽出することができます

于 2012-09-05T14:09:29.453 に答える