⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 approximate_gauss_by_kernels.m

📁 用粒子滤波算法进行跟踪的matlab代码。
💻 M
字号:
function g = approximate_gauss_by_kernels(x,P,N,type)
%function g = approximate_gauss_by_kernels(x,P,N,type)
%
% INPUTS: 
%   x,P - mean and covariance matrix of a Gaussian
%   N - number of components in output 
%   type - method used
%
% OUTPUT:
%   g - Gaussian kernels approximation of Gaussian
%
% This function is in alpha stage of development.
%
% Tim Bailey 2005.

if N == 1, type = 1; elseif nargin == 3, type = 2; end

switch type
case 1
    % Trivial solution
    g.w = ones(1,N)/N;
    g.x = repcol(x,N);
    g.P = P;
case 2
    % Musso
    g.w = ones(1,N)/N;
    g.x = gauss_samples(x,P,N);

    D = size(x,1);
    h = (4 / (N*(D+2))) ^ (2/(D+4));
    g.P = h*P;
case 3
    % Salmond
    g.w = ones(1,N)/N;
    g.x = gauss_samples(x,P,N);

    K = 0.5; % salmond's recommended constant term
    D = size(x,1);
    h = K*N^(-2/D); 
    g.P = h*P;
otherwise
    error('Invalid type')
end

% Other ideas:
%   - sample from broader (flatter) distribution and apply importance weights
% 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -