1

RまたはMaximaのような数式処理システムでの次の畳み込み関連の数値積分問題を解決する必要があります。
積分[({k(y)-l(y)} ^ 2)dy]
ここで、
k(。)は標準正規分布の確率密度関数
l(y)=積分[k(z)* k(z + y) dz](標準畳み込み)
zとyはスカラー
ですyのドメインは-infから+infです。
関数l(。)の積分は不定積分です。これを取得するには、zに追加の仮定を追加する必要がありますか?
ありがとうございました。

4

4 に答える 4

3

これがMathematicaのシンボリックソリューションです:

数学の出力

于 2010-08-27T07:52:28.800 に答える
2

Rは記号積分を行わず、数値積分のみを行います。役立つ可能性のある記号数学プログラムであるYacasと連動するRyacasパッケージがあります。

畳み込み部分の可能なヘルプについては、distrパッケージを参照してください(畳み込みを実行します。結果がシンボリックに積分可能かどうかはわかりません)。

積分関数を使用して、distrからの畳み込みを数値積分できますが、すべてのパラメーターは変数ではなく数値として指定する必要があります。

于 2010-08-26T21:07:25.863 に答える
1

ちなみに、Maxima5.26.0で解決されたのと同じ問題があります。

(%i2) k(u):=exp(-(1/2)*u^2)/sqrt(2*%pi) $
(%i3) integrate (k(x) * k(y + x), x, minf, inf);
(%o3) %e^-(y^2/4)/(2*sqrt(%pi))
(%i4) l(y) := ''%;
(%o4) l(y):=%e^-(y^2/4)/(2*sqrt(%pi))
(%i5) integrate ((k(y) - l(y))^2, y, minf, inf);
(%o5) ((sqrt(2)+2)*sqrt(3)-2^(5/2))/(4*sqrt(3)*sqrt(%pi))
(%i6) float (%);
(%o6) .02090706601281356

返事が遅れて申し訳ありません。誰かが検索して見つけた場合に備えて、これをここに残しておきます。

于 2012-05-31T05:23:57.170 に答える
0

私はmatlabで同様のことをしようとしています。そこでは、2つのランダムな(レイリー分布の)変数を畳み込みます。fz_funの結果はfy_funと同じですが、理由はわかりません。多分ここの何人かはそれを知っていますか?

sigma1 = 0.45;
sigma2 = 0.29;

fx_fun =@(x) [0*x(x<0) , (x(x>=0)./sigma1^2).*exp(-0.5*(x(x>=0)./sigma1).^2)];
fy_fun =@(y) [0*y(y<0) , (y(y>=0)./sigma2^2).*exp(-0.5*(y(y>=0)./sigma2).^2)];

% Rayleigh distribution of random var X,Y:
step = 0.1;
x= -2:step:3;
y= -2:step:3;

%% Convolution:
z= y;
fz = zeros(size(y));
for i = 1:length(y)
    fz_fun(i) = integral(@(z) fy_fun(y(i)).*fx_fun(z-y(i)),0,Inf); % probability density of random variable z= x+y   
end
于 2021-01-06T16:21:57.537 に答える