resampling.m
来自「采用误差校正算法改进的粒子滤波器」· M 代码 · 共 32 行
M
32 行
function x = resampling(xPre,q);% 功能 : 对当前采样集合进行重采样,预防粒子塌陷,缺点是引起粒子多样性损失% 输入 : - xPre = 状态采样预测值% - q = 归一化权值% 输出 : - x = 重采样后的采样集合if nargin < 2, error('Not enough input arguments.'); end[N,timeStep] = size(xPre); u = sort(rand(N,1));x = 5.*ones(size(xPre));Q = cumsum(q);i = 1;j = 1;% 依据重采样方法中最常用的随机采样方法while j <= N, if i <= N & Q(j,1) > u(i,1), % i <= N 预防下标溢出,两个条件不可颠倒 x(i,1) = xPre(j,1); i = i+1; else j = j+1; end;end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?