predict函数:执行重要性采样,也可认为是预测粒子。然后计算预测状态,即粒子与权重的乘积和。
correct函数:首先按似然函数计算权重。然后计算校正状态,即粒子与权重的乘积和。接着是判断是否满足重采样条件,若满足,更新粒子,恢复权重为1/N。
getStateEstimate函数:该函数只计算当前粒子与权重的乘积和。可作为状态估计函数使用。
注意:一般的教材,粒子滤波的步骤为重要性采样→权重计算(归一化)→重采样→状态估计,按照这个顺序,MATLAB的执行步骤应为predict→correct→getStateEstimate。correct函数里提供的校正状态和一般教材的状态估计有所不同,correct函数里提供的校正状态在重采样之前,而一般教材的状态估计在重采样之后,如果不执行重采样,二者没有差别,如果执行了重采样,就需注意顺序问题。