主要内容

switchimm

模型转换函数trackingIMM对象

描述

例子

x= switchimm (modelType1x1modelType2转换状态StateCovariance的属性trackingIMM对象从modelType1状态定义为modelType2国家的定义。

  • modelType1——指定当前运动模型的字符串名称。

  • x1——指定状态StateCovariance对应于modelType1

  • modelType2——指定运动模型的字符串名称x1需要转换。

例子

x= switchimm (___x2另外还允许您指定输出的大小和类型。当未指定时,x数据类型和维数与x1

x2指定状态StateCovariance对应于modelType2

例子

全部折叠

将状态从恒定加速度模型转换为恒定速度模型使用switchimm函数。

初始化

将当前模型设置为“constacc”和目标模型“constvel”.的变量x1定义当前模型中的状态。

modelType1 =“constacc”;modelType2 =“constvel”;X1 = single([1;2;3;4;5;6]);

转换

switchimm函数将二维恒定加速度状态输入转换为二维恒定速度状态输出。输出具有与输入相同的维数和数据类型x1

x = switchchimm (modelType1,x1,modelType2)
x =4x1单列向量1 2 4 5

将状态从恒定加速度模型转换为恒定转弯模型使用switchimm函数。指定x2作为输入参数。

初始化

将当前模型设置为“constacc”和目标模型“constturn”.的变量x1定义当前模型中的状态。输出的大小和数据类型由可选输入决定x2

modelType1 =“constacc”;modelType2 =“constturn”;X1 = [1;2;3;4;5;6];X2 = [0;0;0;0;0;0];

转换

switchimm函数将2-D恒定加速度状态输入转换为3-D恒定转弯模型状态输出。输出具有与输入相同的大小和数据类型x2

x = switchchimm (modelType1,x1,modelType2,x2)
x =7×11 2 4 5 0 0 0

输入参数

全部折叠

当前运动模型,指定为:

  • “constvel”——匀速运动模型。

  • “constacc”——恒加速度运动模型。

  • “constturn”——恒定转弯速率运动模型。

状态向量或状态协方差矩阵对应于当前模型modelType1,指定为l-by-1实向量或者anl——- - - - - -l真正的矩阵。

状态向量的大小必须符合运动模型。例如,如果modelType“constvel”,状态向量的大小必须为2、4或6。类似地,如果modelType“constacc”,状态向量的大小必须是3、6或9。如果modelType“constturn”,状态向量的大小必须为5、7、10、15、14或21。模型类型、状态大小与空间维的关系如下表所示:

modelType1 万博1manbetx支持空间维度 国家大小
“constvel” 一维,二维,三维

2空间维度

“constacc” 一维,二维,三维

3空间维度

“constturn” 二维和三维

2-D空间是5,3-D空间是7

“constturn”model type只万博1manbetx支持2-D和3-D空间,因为不能在1-D空间中转弯。如果空间维计算为1-D,即状态大小为5或7,则函数将输出维视为2,并将第2维对应的值设置为0。例如,在MATLAB中运行以下程序®命令提示符:

switchimm (“constvel”,兰德(2,1),“constturn”

数据类型:|

运动模型x1需要转换,指定为:

  • “constvel”——匀速运动模型。

  • “constacc”——恒加速度运动模型。

  • “constturn”——恒定转弯速率运动模型。

可选输入x2具有与输出状态向量或状态协方差矩阵相同的大小和数据类型,x.的变量x2不包含实际的输出状态信息,而仅保存输出状态的大小和数据类型。例如,当x2设置为[0;0;0;0;0;0;0;0]时,该函数确定输出状态向量为大小为7的向量,数据类型为double。

状态向量的大小必须符合运动模型。例如,如果modelType“constvel”,状态向量的大小必须为2、4或6。类似地,如果modelType“constacc”,状态向量的大小必须是3、6或9。模型类型、状态大小与空间维的关系如下表所示:

modelType1 万博1manbetx支持空间维度 国家大小
“constvel” 一维,二维,三维

2空间维度

“constacc” 一维,二维,三维

3空间维度

“constturn” 二维和三维

2-D空间是5,3-D空间是7

例子:[0, 0, 0, 0, 0, 0, 0)

数据类型:|

输出参数

全部折叠

状态向量或状态协方差矩阵,对应于中指定的运动模型modelType2

模型类型、状态大小与空间维的关系如下表所示:

modelType1 万博1manbetx支持空间维度 国家大小
“constvel” 一维,二维,三维

2空间维度

“constacc” 一维,二维,三维

3空间维度

“constturn” 二维和三维

2-D空间是5,3-D空间是7

如果x2未指定:

鉴于modelType1而且x1时,函数根据表中指定的关系确定输入状态维度。例如,如果modelType1“constvel”,x1是一个4乘1的向量,输入状态维数是4/2,等于2。

如果modelType1“constacc”而且x1是一个6乘1的向量,输入状态维数是6/3,等于2。

在这种情况下x2未指定,输出x数据类型与x1计算尺寸modelType1而且x1

如果x2指定:

函数计算输出空间维modelType2而且x2.例如,如果modelType2“constacc”而且x2是一个6乘1的向量,输出状态维数是6/3,等于2。

输出x数据类型和维数与x2

扩展功能

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

另请参阅

对象

功能

在R2018b中引入