主要内容

初始化

初始化粒子过滤器的状态

描述

例子

初始化(pfnumParticles的意思是协方差用指定数量的粒子初始化粒子筛选器对象。粒子在状态空间中的初始状态是通过对给定的多元正态分布进行抽样来确定的的意思是协方差.状态变量的个数(NumStateVariables的长度将自动检索的意思是向量。

初始化(pfnumParticlesstateBounds确定的初始位置numParticles粒子通过抽样从多元均匀分布与给定stateBounds

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

例子

全部折叠

要创建一个粒子过滤对象来估计系统的状态,请为系统创建适当的状态转换函数和测量函数。

在本例中,函数vdpParticleFilterStateFcn和vdpMeasurementLikelihoodFcn描述非线性参数为1的范德堡尔振荡器的离散逼近。

创建粒子过滤器对象。使用函数句柄为对象提供状态转换和度量可能性函数。

myPF = particleFilter (@vdpParticleFilterStateFcn @vdpMeasurementLikelihoodFcn);

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

初始化(myPF, 1000, [2;0], eye(2));myPF
myPF = particleFilter属性:NumStateVariables: 2 NumParticles: 1000 StateTransitionFcn: @vdpParticleFilterStateFcn MeasurementLikelihoodFcn: @vdpMeasurementLikelihoodFcn IsStateVariableCircular: [0 0] ResamplingPolicy: [1 x1 particleResamplingPolicy] ResamplingMethod:“多项式”StateEstimationMethod:“的意思是”StateOrientation:粒子:[2x1000 double]权重:[1.0000e-03 1.0000e-03 1.0000e-03…State: '使用getStateEstimate函数查看值。'StateCovariance: '使用getStateEstimate函数查看值。'

要从构造对象估计状态和状态估计误差协方差,请使用预测正确的命令。

输入参数

全部折叠

粒子过滤器,指定为对象。看到particleFilter为更多的信息。

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

除非性能是一个问题,否则不要使用少于1000个粒子。较高的粒子数可以改善估计,但牺牲了性能速度,因为算法必须处理更多的粒子。调整粒子数量是提高粒子过滤器跟踪效果的最佳方法。

粒子分布的平均值,用向量表示。的NumStateVariables的属性pf是基于这个向量的长度设置的。

粒子分布的协方差,指定为N——- - - - - -N矩阵,N的价值NumStateVariables的财产pf

状态变量的界限,指定为n2矩阵。的NumStateVariables的属性pf是基于值的吗n.每一行对应对应状态变量的上限和下限。状态变量的个数(NumStateVariables的行数自动检索stateBounds数组中。

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在单引号内(' ').可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:……“StateOrientation”,“行”

循环变量,由逗号分隔对组成CircularVariables并指定为逻辑向量。每个使用圆坐标或角坐标的状态变量都用1表示。向量的长度等于NumStateVariables的属性particleFilter

状态的方向,指定为逗号分隔对,由StateOrientation例如:'column'或'row'。如果是'column',状态财产和getStateEstimate对象的方法pf以列向量的形式返回状态,并且粒子属性维度NumStateVariables——- - - - - -NumParticles.如果它是'row',状态有行方向和粒子有尺寸NumParticles——- - - - - -NumStateVariables

介绍了R2017b