実際にはIntegrate
バグです。
のは、あなたの
U[x_] := If[x >= 0, Sqrt[x], -Sqrt[-x]]
とU
とV
の両方について
FullSimplify[U[x] - V[x], x \[Element] Reals] (* Returns 0 *)
実数を超える等価です同等
V[x_] := Piecewise[{{Sqrt[x], x >= 0}, {-Sqrt[-x], x < 0}}]
を定義してみましょう、分析Expectation
コマンドはMethod
を使用していますオプション"Integrate"
これはこのように、何それは本当にやっていることはV
Integrate[V[x] PDF[NormalDistribution[1, 1], x], {x, -Infinity, Infinity}]
ため
(Sqrt[Pi] (BesselI[-(1/4), 1/4] - 3 BesselI[1/4, 1/4] +
BesselI[3/4, 1/4] - BesselI[5/4, 1/4]))/(4 Sqrt[2] E^(1/4))
積分を返し不可欠
Integrate[U[x] PDF[NormalDistribution[1, 1], x], {x, -Infinity, Infinity}]
ある
Table[Expectation[U[x], x \[Distributed] NormalDistribution[1, 1],
Method -> m], {m, {"Integrate", "Moment", "Sum", "Quantile"}}]
を実行することで見ることができます3210
は、同じ回答を返しますが、係数を掛けたのは1 + I
です。これは明らかにバグです。 U
又はV
を用い
数値積分は、0.796449の期待値を返す:
NIntegrate[U[x] PDF[NormalDistribution[1, 1], x], {x, -Infinity, Infinity}]
これはおそらく正しい解です。
編集:u[x_?NumericQ]
定義が行われてから解析積分を防止するため、すべてのバージョンのkguler's answer戻り同じ値であることを理由は、そうExpectation
が未評価であり、その数値を求めたときNExpectation
を用いに戻り。 。
編集2: もう少し問題を分解、あなたは両方の範囲を超える
In[1]:= [email protected][E^(-(1/2) (-1 + x)^2) Sqrt[x] , {x, 0, Infinity}]
NIntegrate[E^(-(1/2) (-1 + x)^2) Sqrt[x] , {x, 0, Infinity}]
Out[1]= 0. - 0.261075 I
Out[2]= 2.25748
In[3]:= [email protected][Sqrt[-x] E^(-(1/2) (-1 + x)^2) , {x, -Infinity, 0}]
NIntegrate[Sqrt[-x] E^(-(1/2) (-1 + x)^2) , {x, -Infinity, 0}]
Out[3]= 0.261075
Out[4]= 0.261075
を見つけ、積分は指数関数的減衰を持つ本物の、非振動です。想像上/複雑な結果は必要ありません。
最後に、上記の結果がMathematicaバージョン8.0.3で保持されることに注意してください。 バージョン7では、積分は1F1超幾何関数を返し、解析結果は数値結果と一致します。したがって、このバグ(Wolfram | Alphaに現在ある)は回帰です。
私はそれがベッセル関数の分枝切り問題であるかもしれないと思います...興味深いことに、私は 'U [x_]:= Piecewise {{{Sqrt [x]、x> = 0}、{-Sqrt '[Expectation [...]]'は明らかに間違った複雑な結果を返します: '' Expectation''は同じ値を返しますが、 -0.104154-0.104154I'である。 – Simon
@Simon、それは 'Integrate'バグのようです。もし 'N @ Expectation [v [x(x)= 0}、{-Sqrt [-x]、x <0}}]'を試してみたら、 'v [x _]:= Piecewise {{{Sqrt [x]、x> = 0} ]、 x \ [分散] NormalDistribution [1.0,1。]、方法 - > "積分"] 'あなたは' -0.104154 - 0.104154 I'を得ます。メソッドを変更すると、 'N @ Expectation [v [x]、x \ [Distributed] NormalDistribution [1.0、1.]、 メソッド - >" Moment "]'は '0.796449'となります。 – kglr
@kguler:ええ、私は私の元々の推測が間違っていたことに気付きました。より完全な議論のために私の答えを見てください... – Simon