constveljac

Якобиан для движения постоянной скорости

Описание

пример

jacobian = constveljac(state) возвращает обновленный якобиан, jacobian, для модели движения Фильтра Калмана постоянной скорости в течение времени шага одной секунды. state аргумент задает текущее состояние фильтра.

пример

jacobian = constveljac(state,dt) задает временной шаг, dt.

[jacobian,noisejacobian] = constveljac(state,w,dt) задает шум состояния, w, и возвращает якобиан, noisejacobian, из состояния относительно шума.

Примеры

свернуть все

Вычислите якобиан состояния для двумерной модели движения постоянной скорости в одно второе время обновления.

state = [1,1,2,1].';
jacobian = constveljac(state)
jacobian = 4×4

     1     1     0     0
     0     1     0     0
     0     0     1     1
     0     0     0     1

Вычислите якобиан состояния для двумерной модели движения постоянной скорости в полувторой раз обновления.

state = [1;1;2;1];

Вычислите якобиан обновления состояния в течение 0,5 секунд.

jacobian = constveljac(state,0.5)
jacobian = 4×4

    1.0000    0.5000         0         0
         0    1.0000         0         0
         0         0    1.0000    0.5000
         0         0         0    1.0000

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

свернуть все

Вектор состояния фильтра Калмана для движения постоянной скорости в виде 2N с действительным знаком - вектор-столбец элемента, где N является количеством пространственных степеней свободы движения. state как ожидают, будет Декартовым состоянием. Для каждой пространственной степени движения вектор состояния принимает форму, показанную в этой таблице.

Пространственные размерностиСтруктура вектора состояния
1D[x;vx]
2D[x;vx;y;vy]
3-D[x;vx;y;vy;z;vz]

Например, x представляет x - координата и vx представляет скорость в x - направление. Если модель движения 1D, значения вдоль y и осей z приняты, чтобы быть нулем. Если модель движения 2D, значения вдоль оси z приняты, чтобы быть нулем. Координаты положения исчисляются в метрах, и скоростные координаты находятся в метрах/секунда.

Пример: [5;.1;0;-.2;-3;.05]

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

Интервал временного шага фильтра в виде положительной скалярной величины. Единицы измерения времени находятся в секундах.

Пример: 0.5

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

Шум состояния в виде скаляра или действительного ценного N с действительным знаком-by-1 вектор. N является количеством размерностей движения. Например, N = 2 для 2D движения. Если задано как скаляр, скалярное значение расширено до N-by-1 вектор.

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

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

свернуть все

Якобиан движения постоянной скорости, возвращенный как 2N с действительным знаком-by-2N матрица. N является количеством пространственных степеней движения.

Постоянный скоростной якобиан шума движения, возвращенный как 2N с действительным знаком-by-N матрица. N является количеством пространственных степеней движения. Якобиан создается из частных производных состояния на обновленном временном шаге относительно шумовых компонентов.

Алгоритмы

Для двумерного движения постоянной скорости якобиевская матрица какое-то время продвигается, T, диагональ блока:

[1T000100001T0001]

Блок для каждой пространственной размерности имеет эту форму:

[1T01]

Для каждой дополнительной пространственной размерности добавьте идентичный блок.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2018b
Для просмотра документации необходимо авторизоваться на сайте