predict

Предскажите ошибочную ковариацию оценки состояния и оценки состояния отслеживания фильтра

Описание

пример

[xpred,Ppred] = predict(filter) возвращает предсказанное состояние, xpred, и предсказанная ошибочная ковариация оценки состояния, Ppred, для следующего временного шага входного фильтра отслеживания. Ожидаемые значения перезаписывают внутреннее состояние и ошибочную ковариацию оценки состояния filter.

[xpred,Ppred] = predict(filter,dt) задает временной шаг как положительную скалярную величину в секундах и возвращает один или несколько выходных параметров от предыдущих синтаксисов.

[xpred,Ppred] = predict(filter,predparams) задает дополнительные параметры прогноза, используемые функцией изменения состояния. Функция изменения состояния задана в StateTransitionFcn свойство filter.

predict(filter,___) обновления filter с предсказанной ошибочной ковариацией оценки состояния и оценки состояния, не возвращая ожидаемые значения. Задайте фильтр отслеживания и любую из комбинаций входных аргументов от предыдущих синтаксисов.

xpred = predict(filter,___) обновления filter с предсказанной ошибочной ковариацией оценки состояния и оценки состояния, но возвращает только предсказанное состояние, xpred.

Примеры

свернуть все

Создайте двумерный trackingEKF объект и пары "имя-значение" использования, чтобы задать StateTransitionJacobianFcn и MeasurementJacobianFcn свойства. Используйте предопределенное движение постоянной скорости и модели измерения и их Якобианы.

EKF = trackingEKF(@constvel,@cvmeas,[0;0;0;0], ...
    'StateTransitionJacobianFcn',@constveljac, ...
    'MeasurementJacobianFcn',@cvmeasjac);

Запустите фильтр. Используйте predict и correct функции, чтобы распространить состояние. Можно вызвать predict и correct в любом порядке и когда много раз вы хотите. Задайте измерение в Декартовых координатах.

measurement = [1;1;0];
[xpred, Ppred] = predict(EKF);
[xcorr, Pcorr] = correct(EKF,measurement);
[xpred, Ppred] = predict(EKF);
[xpred, Ppred] = predict(EKF)
xpred = 4×1

    1.2500
    0.2500
    1.2500
    0.2500

Ppred = 4×4

   11.7500    4.7500         0         0
    4.7500    3.7500         0         0
         0         0   11.7500    4.7500
         0         0    4.7500    3.7500

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

свернуть все

Отфильтруйте для объектного отслеживания, заданного как один из этих объектов:

  • trackingEKF — Расширенный Фильтр Калмана

  • trackingUKF — Сигма-точечный фильтр Калмана

Использовать predict функция с trackingKF линейный Фильтр Калмана, смотрите predict (trackingKF).

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

Параметры прогноза используются функцией изменения состояния, заданной как список, разделенный запятыми аргументов. Эти аргументы являются теми же аргументами, которые передаются в функцию изменения состояния, заданную StateTransitionFcn свойство входа filter.

Предположим, что вы устанавливаете StateTransitionFcn свойство к @constacc и затем вызовите predict функция:

[xpred,Ppred] = predict(filter,dt)
predict функционируйте внутренне вызывает следующее:
state = constacc(state,dt)

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

свернуть все

Предсказанное состояние фильтра, заданного как вектор или матрица. State свойство входа filter перезаписывается с этим значением.

Предсказанная ковариация состояния фильтра, заданного как вектор или матрица. StateCovariance свойство входа filter перезаписывается с этим значением.

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

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

Смотрите также

| | | | | |

Введенный в R2017a