nlgreyest

Оцените нелинейные параметры модели серого ящика

Описание

пример

sys= nlgreyest(data,init_sys) оценивает параметры нелинейной модели серого ящика, init_sys, с помощью данных временного интервала, data.

пример

sys= nlgreyest(data,init_sys,options) задает дополнительные опции оценки модели.

Примеры

свернуть все

Загрузка данных.

load(fullfile(matlabroot,'toolbox','ident','iddemos','data','twotankdata'));
z = iddata(y,u,0.2,'Name','Two tanks');

Данные содержат 3 000 выборок данных ввода - вывода двух систем бака. Вход является напряжением, применился к насосу, и выход является уровнем жидкости более низкого бака.

Задайте файл, описывающий структуру модели для системы 2D бака. Файл задает производные состояния и выходные параметры модели в зависимости от времени, состояний, входных параметров и параметров модели.

FileName = 'twotanks_c';

Задайте порядки модели [число выходов число входов число переменных состояния].

Order = [1 1 2];

Задайте начальные параметры (Np = 6).

Parameters = {0.5;0.0035;0.019; ...
    9.81;0.25;0.016};

Задайте начальные начальные состояния.

InitialStates = [0;0.1];

Задайте как непрерывная система.

Ts = 0;

Создайте idnlgrey объект модели.

nlgr = idnlgrey(FileName,Order,Parameters,InitialStates,Ts, ...
    'Name','Two tanks');

Установите некоторые параметры как постоянные.

nlgr.Parameters(1).Fixed = true;
nlgr.Parameters(4).Fixed = true;
nlgr.Parameters(5).Fixed = true;

Оцените параметры модели.

nlgr = nlgreyest(z,nlgr);

Создайте набор опции оценки для nlgreyest просмотреть прогресс оценки и установить максимальные шаги итерации на 50.

opt = nlgreyestOptions;
opt.Display = 'on';
opt.SearchOptions.MaxIterations = 50;

Загрузка данных.

load(fullfile(matlabroot,'toolbox','ident','iddemos','data','dcmotordata'));
z = iddata(y,u,0.1,'Name','DC-motor');

Данные от линейного двигателя постоянного тока с одним входом (напряжение) и два выходных параметров (угловое положение и скорость вращения). Структура модели задана dcmotor_m.m файл.

Создайте нелинейную модель серого ящика.

file_name = 'dcmotor_m';
Order = [2 1 2];
Parameters = [1;0.28];
InitialStates = [0;0];

init_sys = idnlgrey(file_name,Order,Parameters,InitialStates,0, ...
    'Name','DC-motor');

Оцените параметры модели с помощью опций оценки.

sys = nlgreyest(z,init_sys,opt);

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

свернуть все

Данные об оценке временного интервала в виде iddata объект. data имеет те же размерности ввода и вывода как init_sys.

Если вы задаете InterSample свойство data как 'bl'(ограниченный полосой) и модель непрерывное время, программное обеспечение обрабатывает данные как задержку первого порядка (foh) интерполированный для оценки.

Созданная нелинейная модель серого ящика, которая конфигурирует начальную параметризацию sysВ виде idnlgrey объект. init_sys имеет те же размерности ввода и вывода как data. Создайте init_sys использование idnlgrey.

Опции оценки для нелинейной идентификации модели серого ящика в виде nlgreyestOptions опция установлена.

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

свернуть все

Нелинейная модель серого ящика с той же структурой как init_sys, возвращенный как idnlgrey объект. Параметры sys оцениваются таким образом что ответ sys совпадает с выходным сигналом в данных об оценке.

Информация о результатах оценки и используемых опциях хранится в Report свойство модели. Report имеет следующие поля:

Сообщите о полеОписание
Status

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

Method

Имя решателя симуляции и метода поиска используется во время оценки.

Fit

Количественная оценка оценки, возвращенной как структура. Смотрите Функцию потерь и Метрики качества Модели для получения дополнительной информации об этих метриках качества. Структура имеет следующие поля:

Поле Описание
FitPercent

Мера по нормированной среднеквадратической ошибке (NRMSE) того, как хорошо ответ модели соответствует данным об оценке, описанным как процент fitpercent = 100 (1-NRMSE).

LossFcn

Значение функции потерь, когда оценка завершается.

MSE

Мера по среднеквадратической ошибке (MSE) того, как хорошо ответ модели соответствует данным об оценке.

FPE

Итоговая ошибка предсказания для модели.

AIC

Необработанная мера по Критериям информации о Akaike (AIC) качества модели.

AICc

Маленький объем выборки откорректировал AIC.

nAIC

Нормированный AIC.

BIC

Байесовы информационные критерии (BIC).

Parameters

Ориентировочные стоимости параметров модели. Структура со следующими полями:

Поле Описание
InitialValuesСтруктура со значениями параметров и начальных состояний перед оценкой.
ParVectorЗначение параметров после оценки.
Free

Логический вектор, задающий фиксированное или свободное состояние параметров во время оценки

FreeParCovarianceКовариация свободных параметров.
X0Значение начальных состояний после оценки.
X0CovarianceКовариация начальных состояний.

OptionsUsed

Набор опции используется для оценки. Если никакие пользовательские опции не были сконфигурированы, это - набор опций по умолчанию. Смотрите nlgreyestOptions для получения дополнительной информации.

RandState

Состояние потока случайных чисел в начале оценки. Пустой, если рандомизация не использовалась во время оценки. Для получения дополнительной информации смотрите rng.

DataUsed

Атрибуты данных, используемых для оценки — Структура со следующими полями:

Поле Описание
Name

Имя набора данных.

Type

Тип данных — Для idnlgrey модели, это установлено в 'Time domain data'.

Length

Количество выборок данных.

Ts

Размер шага. Это эквивалентно data.Ts.

InterSample

Введите междемонстрационное поведение. Одно из следующих значений:

  • 'zoh' — Нулевой порядок содержит, обеспечивает кусочно-постоянный входной сигнал между выборками.

  • 'foh' — Хранение первого порядка обеспечивает кусочно-линейный входной сигнал между выборками.

  • 'bl' — Ограниченное полосой поведение указывает, что входной сигнал непрерывного времени имеет нулевую силу выше частоты Найквиста.

Значение Intersample не оказывает влияния на результаты оценки для моделей дискретного времени.

InputOffset

Пустой, для нелинейных методов оценки.

OutputOffset

Пустой, для нелинейных методов оценки.

Termination

Условия завершения для итеративного поиска, используемого для ошибочной минимизации предсказания, возвращенной как структура со следующими полями:

Поле Описание
WhyStop

Причина завершения числового поиска.

Iterations

Количество поисковых итераций выполняется алгоритмом оценки.

FirstOrderOptimality

- норма вектора просмотра градиента, когда алгоритм поиска останавливается.

FcnCount

Число раз целевая функция было названо.

UpdateNorm

Норма вектора просмотра градиента в последней итерации. Не использованный, когда методом поиска является 'lsqnonlin' или 'fmincon'.

LastImprovement

Улучшение критерия последней итерации, описанной как процент. Не использованный, когда методом поиска является 'lsqnonlin' или 'fmincon'.

Algorithm

Алгоритм используется 'lsqnonlin' или 'fmincon' метод поиска. Не использованный, когда другие методы поиска используются.

Для методов оценки, которые не требуют числовой оптимизации поиска, Termination поле не использовано.

Для получения дополнительной информации см. Отчет Оценки.

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

Представленный в R2015a