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

Необработанная мера качества модели Akaike Information Criteria (AIC).

AICc

Скорректированный AIC небольшого размера.

nAIC

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

BIC

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

Parameters

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

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

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

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

OptionsUsed

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

RandState

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

DataUsed

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

ОбластьОписание
Name

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

Type

Тип данных - For 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