www.pudn.com > gmm_utilities.zip > gmm_addition.m
function gr = gmm_addition(g1, g2)
% Convolution for addition of two random variables: xr = x1+x2
% Same as gmm_convolve.
D = size(g1.x, 1);
M = size(g1.x, 2);
N = size(g2.x, 2);
R = M*N;
gr.x = zeros(D,R);
gr.P = zeros(D,D,R);
gr.w = zeros(1,R);
k=1;
for i=1:M
xi = g1.x(:,i);
Pi = g1.P(:,:,i);
wi = g1.w(i);
for j=1:N
gr.x(:,k) = xi + g2.x(:,j);
gr.P(:,:,k) = Pi + g2.P(:,:,j);
gr.w(k) = wi * g2.w(j);
k = k+1;
end
end