主要内容

getStateEstimate

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

描述

例子

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

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

例子

全部折叠

创建一个stateEstimatorPF对象和执行状态估计的预测和校正步骤。粒子滤波给出了预测状态估计基于的返回值StateTransitionFcn。它纠正了国家基于给定的测量和的返回值MeasurementLikelihoodFcn

创建一个默认的粒子滤波三种状态。

pf = stateEstimatorPF
pf = stateEstimatorPF属性:NumStateVariables: 3 NumParticles: 1000 StateTransitionFcn: @nav.algs。gaussianMotion MeasurementLikelihoodFcn: @nav.algs。fullStateMeasurement IsStateVariableCircular: [0 0 0] ResamplingPolicy: [1 x1 resamplingPolicyPF] ResamplingMethod:“多项式”StateEstimationMethod:“的意思是”StateOrientation:“行”粒子:[1000 x3双)重量:[1000 x1双]状态:“使用getStateEstimate函数值。“StateCovariance:“使用getStateEstimate函数的值。

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

pf.StateEstimationMethod =“的意思是”;pf.ResamplingMethod =“系统”;

初始化粒子滤波在状态协方差(4 1 9)与单位((3))。使用5000个粒子。

初始化(pf, 5000,(4 1 9),眼(3));

假设测量[4.2 - 0.9 9],运行一个预测和一个正确的一步。

[statePredicted, stateCov] =预测(pf);[stateCorrected, stateCov] =正确(pf, 9 [4.2 - 0.9]);

得到最好的状态估计的基础上StateEstimationMethod算法。

状态= getStateEstimate (pf)
状态=1×34.1562 0.9185 9.0202

输入参数

全部折叠

stateEstimatorPF对象,指定为一个句柄。看到stateEstimatorPF为更多的信息。

输出参数

全部折叠

最好的状态估计,返回一个行向量的长度NumStateVariables。估计是基于提取StateEstimationMethod算法中指定pf

修正系统方差,作为一个返回N——- - - - - -N矩阵,N的值是NumStateVariables的财产pf。计算基于修正后的状态StateEstimationMethod算法和MeasurementLikelihoodFcn。如果你指定一个国家不支持协方差估计方法,那么函数返回金宝appstateCov作为[]

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

介绍了R2016a