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

📄 residualr.m

📁 Rao Blackwellised Particle Filtering for Dynamic Conditionally Gaussian Models基于高斯模型的rbpf(粒子滤波器)的mat
💻 M
字号:
function outIndex = residualR(inIndex,q);% PURPOSE : Performs the resampling stage of the SIR%           in order(number of samples) steps. It uses Liu's%           residual resampling algorithm and Niclas' magic line.% INPUTS  : - inIndex = Input particle indices.%           - q = Normalised importance ratios.% OUTPUTS : - outIndex = Resampled indices.% AUTHORS  : Arnaud Doucet and Nando de Freitas - Thanks for the acknowledgement.% DATE     : 08-09-98if nargin < 2, error('Not enough input arguments.'); end[S,arb] = size(q);  % S = Number of particles.% RESIDUAL RESAMPLING:% ====================N_babies= zeros(1,S);% first integer partq_res = S.*q'; %'N_babies = fix(q_res);% residual number of particles to sampleN_res=S-sum(N_babies);if (N_res~=0)  q_res=(q_res-N_babies)/N_res;  cumDist= cumsum(q_res);     % generate N_res ordered random variables uniformly distributed in [0,1]  u = fliplr(cumprod(rand(1,N_res).^(1./(N_res:-1:1))));  j=1;  for i=1:N_res    while (u(1,i)>cumDist(1,j))      j=j+1;    end    N_babies(1,j)=N_babies(1,j)+1;  end;end;% COPY RESAMPLED TRAJECTORIES:  % ============================index=1;for i=1:S  if (N_babies(1,i)>0)    for j=index:index+N_babies(1,i)-1      outIndex(j) = inIndex(i);    end;  end;     index= index+N_babies(1,i);   end

⌨️ 快捷键说明

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