主要内容

预测

跟踪滤波器的状态预测和状态估计误差协方差

描述

例子

xpredppr预测,预测过滤器返回预测状态,xpred,预测状态估计误差协方差,ppr,为输入跟踪滤波器的下一个时间步。预测值覆盖了模型的内部状态和状态估计误差协方差过滤器

xpredppr预测,预测过滤器dt将时间步长指定为以秒为单位的正标量,并从前面的语法返回一个或多个输出。

xpredppr预测,预测过滤器predparams指定状态转换函数使用的其他预测参数。状态转换函数定义在StateTransitionFcn的属性过滤器

xpredpprzpred预测,预测过滤器还返回下一个时间步骤的预测度量。

您只能在以下情况下使用此语法过滤器是一个trackingABF对象。

xpredpprzpred预测,预测过滤器dt返回在指定时间步长的预测状态、状态估计误差协方差和测量值。

您只能在以下情况下使用此语法过滤器是一个trackingABF对象。

预测(过滤器___更新过滤器用预测状态和状态估计误差协方差不返回预测值。指定跟踪过滤器和来自前面语法的任何输入参数组合。

xpred=预测(过滤器___更新过滤器利用预测状态和状态估计误差协方差,但只返回预测状态,xpred

例子

全部折叠

创建一个二维trackingEKF对象,并使用名称-值对定义StateTransitionJacobianFcn而且MeasurementJacobianFcn属性。使用预定义的匀速运动和测量模型及其雅可比矩阵。

EKF = trackingEKF(@constvel,@cvmeas,[0;0;0],...“StateTransitionJacobianFcn”@constveljac,...“MeasurementJacobianFcn”, @cvmeasjac);

运行过滤器。使用预测而且正确的函数来传播状态。你可以打电话预测而且正确的顺序不限,次数不限。在笛卡尔坐标中指定测量值。

测量= [1;1;0];[xpred, Ppred] = predict(EKF);[xcorr, Pcorr] =正确(EKF,测量);[xpred, Ppred] = predict(EKF);[xpred, pred] =预测(EKF)
xpred =4×11.2500 0.2500 1.2500
ppr =4×411.7500 .7500 00 4.7500 3.7500 00 11.7500 4.7500 00 4

输入参数

全部折叠

用于对象跟踪的过滤器,指定为以下对象之一:

要使用预测函数trackingKF线性卡尔曼滤波,见预测(trackingKF)

下一次预测的时间步长,指定为以秒为单位的正标量。

状态转换函数使用的预测参数,以逗号分隔的参数列表指定。类指定的状态转换函数中传递的参数与这些参数相同StateTransitionFcn输入的属性过滤器

假设您将StateTransitionFcn财产@constacc然后调用预测功能:

[xpred,Ppred] = predict(filter,dt)
预测函数内部调用以下函数:
State = constacc(State,dt)

输出参数

全部折叠

滤波器的预测状态,指定为向量或矩阵。的状态输入的属性过滤器将被此值覆盖。

滤波器的预测状态协方差,指定为向量或矩阵。的StateCovariance输入的属性过滤器将被此值覆盖。

预测的测量,指定为矢量或矩阵。你可以回来了zpred只有当过滤器是一个trackingABF对象。

扩展功能

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

在R2017a中介绍