Проверьте оценку оперативного параметра в командной строке

В этом разделе показано, как проверить оценку параметра в командной строке. Если валидация указывает на низкое доверие в оценке, смотрите Поиск и устранение проблем с оценкой Параметра в режиме онлайн. После того, как вы подтвердили результаты онлайн-оценки, можно сгенерировать код 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;

Меньшее значение отклонения дает доверие в оценочных значениях.

Используйте команды валидации из System Identification Toolbox

Можно проверить моментальный снимок предполагаемой модели с помощью команд валидации для автономной оценки. Эта валидация захватывает только поведение инвариантной по времени модели. Доступные методы автономной валидации в System Identification Toolbox™ см. в разделе Валидация модели.

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

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

Здесь, Ts - шаг расчета.

Примечание

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

Методы валидации включают:

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

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

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

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

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

См. также

| | | | | |

Похожие темы