exponenta event banner

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

Вычислите обновление состояния Jacobian в течение 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-element столбца, где N - число пространственных степеней свободы движения. state ожидается, что он будет декартовым. Для каждой пространственной степени движения вектор состояния принимает форму, показанную в этой таблице.

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

Например, x представляет координату x и 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++ с помощью MATLAB ® Coder™

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