constveljac

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

Описание

пример

jacobian = constveljac(state) возвращает обновленный якобиан, jacobianдля модели движения фильтра Калмана с постоянной скоростью для шага в секунду. The 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 - количество пространственных степеней свободы движения. The state ожидается, что это будет Декартово состояние. Для каждой пространственной степени движения вектор состояния принимает форму, показанную в этой таблице.

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

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

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

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

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

Пример: 0.5

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

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

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

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

свернуть все

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

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

Алгоритмы

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

[1T000100001T0001]

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

[1T01]

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

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

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

.
Введенный в R2021a