exponenta event banner

Проверка оценки параметров в режиме онлайн в командной строке

В этом разделе показано, как проверить интерактивную оценку параметров в командной строке. Если проверка указывает на низкую достоверность оценки, см. раздел Устранение неполадок при интерактивной оценке параметров. После проверки результатов оценки в режиме онлайн можно создать код C/C + + или автономное приложение с помощью MATLAB ® Coder™ или MATLAB Compiler™.

Проверка ошибки оценки

Погрешность оценки представляет собой разность между измеренными выходными данными, yи предполагаемый результат, EstimatedOutput на каждом временном шаге.

obj = recursiveARX;
[A,B,EstimatedOutput] = step(obj,y,u);
estimationError = y-EstimatedOutput;

Здесь, u - входные данные на этом шаге времени.

Ошибки оценки (остатки) могут быть большими в начале оценки или при наличии больших вариаций параметров. По мере схождения оценок параметров погрешность должна уменьшаться. Небольшие ошибки относительно размера выходов повышают уверенность в оценочных значениях.

Моделирование расчетной модели

Моделирование расчетной модели и сравнение моделируемых и измеряемых выходных данных. Для этого внесите измеренные входные данные в модель, использующую расчетные значения изменяющихся во времени параметров. Затем сравните выходные данные модели с измеренными выходными данными. Близкое совпадение между моделируемым выходом и измеряемым выходом дает уверенность в оценочных значениях.

Проверка ковариации параметров

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

Ковариация параметра вычисляется в предположении, что остатки являются белым шумом, и дисперсия этих остатков равна 1. Для просмотра ковариационной матрицы параметров используется ParameterCovariance свойство вашего системного object™.

P = obj.ParameterCovariance;

Оцененные параметры можно рассматривать как случайные величины с дисперсией, равной соответствующей диагонали ковариационной матрицы параметра, масштабированной дисперсией остатков (residualVariance) на каждом временном шаге. Вы используете предыдущие знания или рассчитываете residualVariance из остатков, e. Где, e - вектор ошибок оценки, estimationError.

 residualVariance = var(e);

Масштабирование ковариации параметра для вычисления дисперсии оцененных параметров.

paramVariance = diag(P)*residualVariance;

Меньшее значение дисперсии дает уверенность в оценочных значениях.

Использование команд проверки из панели инструментов идентификации системы

Можно проверить моментальный снимок расчетной модели с помощью команд проверки для оценки в автономном режиме. Эта проверка фиксирует только поведение инвариантной по времени модели. Доступные методы автономной проверки в Toolbox™ идентификации системы см. в разделе Проверка модели.

Чтобы использовать автономные команды, преобразуйте объект системы оценки в режиме онлайн, obj, в idpoly объект модели. Также преобразуйте поток данных проверки ввода-вывода, Output (t) и Input (t), в iddata объект.

sys = idpoly(obj);
sys.Ts = Ts;
z = iddata(Output,Input,Ts)

Здесь, Ts - время выборки.

Примечание

Это преобразование и любой последующий анализ не поддерживаются кодером MATLAB.

Методы проверки включают в себя:

  • Анализ остатков с использованием таких методов, как проверка белизны и проверка независимости, с использованием автономных команд, таких как resid. Например, использовать resid(z,sys). Для получения информации об этих тестах см. Что такое остаточный анализ?.

  • Сравнение выходных данных модели и измеренных выходных данных. Например, использовать compare(z,sys).

  • Сравнение различных объектов системы оценки в режиме онлайн.

    Можно создать несколько версий объекта System с различными свойствами объекта, преобразовать каждую из них в idpoly объекты модели и использование compare чтобы выбрать лучший.

    Если необходимо скопировать существующий объект System, а затем изменить свойства скопированного объекта, используйте команду clone команда. Не создавать дополнительные объекты с помощью синтаксиса obj2 = obj. Любые изменения свойств нового объекта System, созданные таким образом (obj2) также изменить свойства исходного объекта System (obj).

См. также

| | | | | |

Связанные темы