主要内容

初始化

初始化粒子过滤器的状态

描述

例子

初始化(pfnumParticles的意思是协方差初始化粒子过滤器对象,pf,有一定数量的粒子,numParticles.粒子在状态空间中的初始状态是通过从具有指定值的多元正态分布中采样确定的的意思是而且协方差

初始化(pfnumParticlesstateBounds从指定范围内多元均匀分布的样本中确定粒子的初始位置stateBounds

初始化(___、名称、值)用一个或多个指定的附加选项初始化粒子名称,值对参数。

例子

全部折叠

创建一个stateEstimatorPF对象,并执行状态估计的预测和修正步骤。粒子滤波给出了基于的返回值的预测状态估计StateTransitionFcn.的返回值,然后根据给定的测量值纠正状态MeasurementLikelihoodFcn

用默认的三种状态创建一个粒子过滤器。

pf = stateEstimatorPF
pf = statestimatorpf与属性:NumStateVariables: 3 NumParticles: 1000 StateTransitionFcn: @nav.algs。gaussianMotion measurementlikehoodfcn: @nav.algs。fullstatemmeasurement IsStateVariableCircular: [0 00] ResamplingPolicy: [1x1 resamplingPolicyPF] ResamplingMethod: '多项' StateEstimationMethod: 'mean' statorientation: '行'粒子:[1000x3 double]权重:[1000x1 double]状态:'使用getStateEstimate函数来查看值。'StateCovariance: '使用getStateEstimate函数查看值。'

说明了平均状态估计方法和系统重采样方法。

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

初始化粒子滤波器状态[4 1 9],单位协方差((3)).使用5000个粒子。

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

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

[statepredict,stateCov] = predict(pf);[stateCorrected,stateCov] =正确(pf,[4.2 0.9 9]);

的基础上获得最佳状态估计StateEstimationMethod算法。

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

输入参数

全部折叠

stateEstimatorPF对象,指定为句柄。看到stateEstimatorPF获取更多信息。

过滤器中使用的粒子数,指定为标量。

粒子分布的平均值,以矢量表示。的NumStateVariables的属性pf是根据这个向量的长度设置的。

粒子分布的协方差,用N——- - - - - -N矩阵,N的值NumStateVariables的财产pf

状态变量的边界,指定为n2矩阵。的NumStateVariables的属性pf的值来设置n.每一行对应于相应状态变量的下限和上限。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:"CircularVariables",[0 0 1]

循环变量,指定为逻辑向量。每个使用圆坐标或角坐标的状态变量都用1表示。向量的长度等于NumStateVariables的属性pf

扩展功能

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

版本历史

在R2016a中引入