switchimm

Функция преобразования модели для trackingIMM объект

Описание

пример

x = switchimm(modelType1,x1,modelType2) преобразует State или StateCovariance свойства trackingIMM объект из modelType1 определение состояния в modelType2 определение состояния.

  • modelType1 -- Задает строковое имя текущей модели движения.

  • x1 -- Задает State или StateCovariance соответствующий modelType1.

  • modelType2 -- Задает строковое имя модели движения, которому x1 необходимо преобразовать.

пример

x = switchimm(___,x2) Кроме того, можно задать размер и тип выхода. Когда не указано, x имеет совпадающий тип данных и размерность, что и x1.

x2 задает State или StateCovariance соответствующий modelType2.

Примеры

свернуть все

Преобразуйте состояние из модели постоянного ускорения в модель постоянной скорости с помощью switchimm функция.

Инициализация

Установите текущую модель равной 'constacc' и модель назначения, для 'constvel'. Переменная x1 определяет состояние в текущей модели.

modelType1 = 'constacc';
modelType2 = 'constvel';
x1 = single([1;2;3;4;5;6]);

Преобразование

The switchimm функция преобразует 2-D вход состояния постоянного ускорения в 2-D выход состояния постоянной скорости. Выход имеет ту же размерность и тип данных, что и вход x1.

x = switchimm(modelType1,x1,modelType2)
x = 4x1 single column vector

     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;0];

Преобразование

The switchimm функция преобразует 2-D вход состояния постоянного ускорения в 3-D выход модели постоянного поворота. Выходы имеют тот же размер и тип данных, что и входные x2.

x = switchimm(modelType1,x1,modelType2,x2)
x = 7×1

     1
     2
     4
     5
     0
     0
     0

Входные параметры

свернуть все

Модель токового движения, заданная как:

  • 'constvel' - Модель движения с постоянной скоростью.

  • 'constacc' - Модель движения с постоянным ускорением.

  • 'constturn' - Модель движения с постоянной скоростью поворота.

Вектор состояния или ковариационная матрица состояния, соответствующая текущей модели в modelType1, заданный как L -by-1 вектор действительных чисел или L -by L действительная матрица.

Размер вектора состояния должен соответствовать модели движения. Для примера, если modelType является 'constvel'вектор состояния должен иметь размер 2, 4 или 6. Точно так же, если modelType является 'constacc'вектор состояния должен иметь размер 3, 6 или 9. Если на modelType является 'constturn'вектор состояния должен иметь размер 5, 7, 10, 15, 14 или 21. Отношение между типом модели, размером состояния и размерностью пространства определяется следующей таблицей:

modelType1Поддерживаемая размерность пространстваРазмер состояния
'constvel'1-D, 2-D, 3-D

2 ✕ Пространственная размерность

'constacc'1-D, 2-D, 3-D

3 ✕ Пространственная размерность

'constturn'2-D и 3-D

5 для 2-D пространства и 7 для трехмерные пространства

The 'constturn' тип модели поддерживает только 2-D и трехмерные пространства, поскольку поворот не может быть выполнен в 1-D пространстве. Если размерность пространства вычисляется как 1-D, то есть размер состояния равен 5 или 7, функция обрабатывает выходную размерность как 2, и значения, соответствующие второму измерению, устанавливаются равными 0. Например, выполните следующее в MATLAB® командная строка:

switchimm('constvel',rand(2,1),'constturn')

Типы данных: single | double

Модель движения, к которой x1 необходимо преобразовать, задав как:

  • 'constvel' - Модель движения с постоянной скоростью.

  • 'constacc' - Модель движения с постоянным ускорением.

  • 'constturn' - Модель движения с постоянной скоростью поворота.

Необязательный вход x2 имеет тот же размер и тип данных, что и вектор выходного состояния или ковариационная матрица состояния, x. Переменная x2 не содержит фактическую информацию о состоянии выхода, но содержит только размер и тип данных выходов состояния. Для примера, когда x2 задано значение [0; 0; 0; 0; 0; 0; 0], функция определяет выходной вектор состояния как вектор размера 7 с типом данных double.

Размер вектора состояния должен соответствовать модели движения. Для примера, если modelType является 'constvel'вектор состояния должен иметь размер 2, 4 или 6. Точно так же, если modelType является 'constacc'вектор состояния должен иметь размер 3, 6 или 9. Отношение между типом модели, размером состояния и размерностью пространства определяется следующей таблицей:

modelType1Поддерживаемая размерность пространстваРазмер состояния
'constvel'1-D, 2-D, 3-D

2 ✕ Пространственная размерность

'constacc'1-D, 2-D, 3-D

3 ✕ Пространственная размерность

'constturn'2-D и 3-D

5 для 2-D пространства и 7 для трехмерные пространства

Пример: [0; 0; 0; 0; 0; 0; 0]

Типы данных: single | double

Выходные аргументы

свернуть все

Вектор состояния или ковариационная матрица состояния, соответствующая модели движения, заданной в modelType2.

Отношение между типом модели, размером состояния и размерностью пространства определяется следующей таблицей:

modelType1Поддерживаемая размерность пространстваРазмер состояния
'constvel'1-D, 2-D, 3-D

2 ✕ Пространственная размерность

'constacc'1-D, 2-D, 3-D

3 ✕ Пространственная размерность

'constturn'2-D и 3-D

5 для 2-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 + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

Объекты

Функции

Введенный в R2018b