www.gusucode.com > 用粒子滤波算法进行跟踪的matlab代码 > gmm_utilities/kernel_multiply.m
function gr = kernel_multiply(g1,g2) D = size(g1.x, 1); M = size(g1.x, 2); N = size(g2.x, 2); R = M*N; gr.x = zeros(D,R); gr.w = zeros(1,R); k=1; for i=1:M xi = repcol(g1.x(:,i), N); wi = repcol(g1.w(i), N); [x, gr.P, w] = gauss_multiply(xi, g1.P, g2.x, g2.P); ii = k:(k+N-1); gr.x(:,ii) = x; gr.w(ii) = w*wi*g2.w; k = ii(end) + 1; end