主要内容

getStateEstimate

从粒子提取最佳状态估计和协方差

描述

例子

状态= getStateEstimate (pf)回报的最佳状态估计基于当前设置粒子。估计是基于提取StateEstimationMethod财产的particleFilter对象,pf

(状态,StateCovariance)= getStateEstimate (pf)返回状态估计的协方差。协方差是状态估计的不确定性。并不是所有支持协方差输出状态估计方法。金宝app在这种情况下,getStateEstimate返回StateCovariance[]。

状态StateCovariance信息可以直接访问属性的粒子滤波对象pfpf.Statepf.StateCovariance。然而,当这些量都需要使用getStateEstimation方法有两个输出参数的计算效率。

例子

全部折叠

创建一个粒子滤波,并设置状态转换和测量功能的可能性。

myPF = particleFilter (@vdpParticleFilterStateFcn @vdpMeasurementLikelihoodFcn);

初始化粒子滤波的状态[2;0]与单位协方差,和使用1000年粒子。

初始化(myPF, 1000,(2, 0),眼(2));

选择的意思是状态估计和系统的重采样方法。

myPF。状态EstimationMethod =“的意思是”;myPF。ResamplingMethod =“系统”;myPF
myPF = particleFilter属性:NumStateVariables: 2 NumParticles: 1000 StateTransitionFcn: @vdpParticleFilterStateFcn MeasurementLikelihoodFcn: @vdpMeasurementLikelihoodFcn IsStateVariableCircular: [0 0] ResamplingPolicy: [1 x1 particleResamplingPolicy] ResamplingMethod:“系统性”StateEstimationMethod:“的意思是”StateOrientation:“列”粒子:[2 x1000双)重量:[1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03 1.0000 e 03……状态:“使用getStateEstimate函数值。“StateCovariance:“使用getStateEstimate函数的值。

假设测量2.1,运行一个预测和正确的一步。

[PredictedState, PredictedStateCovariance] =预测(myPF);[CorrectedState, CorrectedStateCovariance] =正确(myPF, 2.1);

得到最好的状态估计和协方差的基础上StateEstimationMethod财产。

[状态,StateCovariance] = getStateEstimate (myPF)
状态=2×12.1018 - -0.1413
StateCovariance =2×20.0175 -0.0096 -0.0096 0.5394

输入参数

全部折叠

粒子滤波,指定为一个对象。看到particleFilter为更多的信息。

输出参数

全部折叠

最好的状态估计,定义为一个向量基于的状况StateOrientation属性:

  • 如果StateOrientation“行”然后状态是1 -NumStateVariables向量

  • 如果StateOrientation“列”然后状态是一个NumStateVariables1的向量

当前状态估计误差协方差的估计,定义为一个NumStateVariables——- - - - - -NumStateVariables数组中。StateCovariance基于计算StateEstimationMethod。如果你指定一个状态估计方法不支持协方差,那么函数返回金宝appStateCovariance[]。

版本历史

介绍了R2017b