exponenta event banner

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');

Данные содержат 3000 выборок данных ввода-вывода двухбачковой системы. Входной сигнал - это напряжение, подаваемое на насос, а выходной сигнал - это уровень жидкости в нижнем резервуаре.

Укажите файл, описывающий структуру модели для двухбачковой системы. Файл определяет производные состояния и выходные данные модели как функцию времени, состояний, входных данных и параметров модели.

FileName = 'twotanks_c';

Укажите порядки моделей [ny nu nx].

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) измерения того, насколько хорошо отклик модели соответствует данным оценки, выраженным в процентах fit = 100 (1-NRMSE).

LossFcn

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

MSE

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

FPE

Ошибка окончательного прогноза для модели.

AIC

Показатель качества модели Raw Akaike Information Criteria (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

∞-norm вектора поиска градиента при завершении алгоритма поиска.

FcnCount

Число вызовов целевой функции.

UpdateNorm

Норма вектора поиска градиента в последней итерации. Опущено, когда метод поиска 'lsqnonlin' или 'fmincon'.

LastImprovement

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

Algorithm

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

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

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

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

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