constacc

Модель движения с постоянным ускорением

Описание

пример

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

пример

updatedstate = constacc(state,dt) определяет временной шаг, dt.

updatedstate = constacc(state,w,dt) также задает шум состояния, w.

Примеры

свернуть все

Задайте начальное состояние для 2-D постоянного ускорения.

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

Спрогнозируйте состояние через 1 секунду.

state = constacc(state)
state = 6×1

    2.5000
    2.0000
    1.0000
    3.0000
    1.0000
         0

Задайте начальное состояние для 2-D постоянного ускорения.

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

Спрогнозируйте состояние на 0,5 с позже.

state = constacc(state,0.5)
state = 6×1

    1.6250
    1.5000
    1.0000
    2.5000
    1.0000
         0

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

свернуть все

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

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

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

Пример: [5;0.1;0.01;0;-0.2;-0.01;-3;0.05;0]

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

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

Пример: 0.5

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

Шум состояния, заданный как скалярная или вещественная D -by - N матрица. D - количество размерностей движения, а N - количество векторов состояния. Если задано в виде скаляра, скалярное значение расширяется до D -by- N матрицы.

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

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

свернуть все

Обновленный вектор состояния, возвращенный как действительный вектор или вещественная матрица с таким же количеством элементов и размерностей, как вход вектор состояния.

Алгоритмы

Для двумерного процесса постоянного ускорения матрицы переходов через временной шаг, T, является блоком диагонали:

[xk+1vxk+1axk+1yk+1vyk+1ayk+1]=[1T12T200001T0000010000001T12T200001T000001][xkvxkaxkykvykayk]

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

[1T12T201T001]

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

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

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

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