nlgreyest

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

Синтаксис

sys= nlgreyest(data,init_sys)
sys= nlgreyest(data,init_sys,options)

Описание

пример

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) того, как хорошо ответ модели соответствует данным об оценке, выраженным как процент.

LossFcn

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

MSE

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

FPE

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

AIC

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

AICc

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

nAIC

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

BIC

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

Parameters

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

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

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

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

OptionsUsed

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

RandState

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

DataUsed

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

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

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

Type

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

Length

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

Ts

'SampleTime' . Это эквивалентно data.Ts.

InterSample

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

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

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

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

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

InputOffset

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

OutputOffset

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

Termination

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

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

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

Iterations

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

FirstOrderOptimality

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

FcnCount

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

UpdateNorm

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

LastImprovement

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

Algorithm

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

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

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

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

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