exponenta event banner

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

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

switchimm функционируйте преобразовывает 2-й постоянный вход состояния ускорения в 2-ю постоянную скоростную продукцию состояния. Выходные данные имеют ту же размерность и тип данных, что и входные данные. 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];

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

switchimm функционируйте преобразовывает 2-й постоянный вход состояния ускорения в 3D постоянную продукцию государства модели поворота. Выходные данные имеют тот же размер и тип данных, что и входные данные. 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-на-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 для пространства 3-D

'constturn' тип модели поддерживает только 2-D и 3-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 с двойным типом данных.

Размер вектора состояния должен соответствовать модели движения. Например, если 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 для пространства 3-D

Пример: [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 для пространства 3-D

Если 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++ с помощью MATLAB ® Coder™

.

См. также

Объекты

Функции

Представлен в R2018b