exponenta event banner

самый серый

Линейная серая модель

Синтаксис

sys = greyest(data,init_sys)
sys = greyest(data,init_sys,opt)
[sys,x0] = greyest(___)

Описание

sys = greyest(data,init_sys) оценивает линейную модель «серого ящика», sys, используя данные временной или частотной области, data. Размеры входов и выходов data и init_sysодин idgrey модель, должна совпадать. sys является идентифицированным idgrey модель, которая имеет ту же структуру, что и init_sys.

sys = greyest(data,init_sys,opt) оценивает линейную серую модель с использованием набора опций, opt, для конфигурирования параметров оценки.

[sys,x0] = greyest(___) возвращает значение начальных состояний, вычисленных во время оценки. Этот синтаксис можно использовать с любой из предыдущих комбинаций входных аргументов.

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

data

Оценочные данные.

Размеры входов и выходов data и init_sys должно совпадать.

Для оценки во временной области data является iddata объект, содержащий значения входного и выходного сигналов.

Для оценки частотной области data может быть одним из следующих:

  • Записанные данные частотной характеристики (frd(Панель инструментов системы управления) или idfrd)

  • iddata объект с его Domain свойство имеет значение 'Frequency'

init_sys

Идентифицированная линейная серая модель, которая конфигурирует начальную параметризацию sys.

init_sysодин idgrey модель, должна иметь те же входные и выходные размеры, что и data.

opt

Варианты оценки.

opt - набор опций, созданный с помощью greyestOptions, который определяет опции, включая:

  • Цель оценки

  • Выбор инициализации

  • Обработка модели нарушения

  • Метод численного поиска, используемый при оценке

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

sys

Предполагаемая серая модель, возвращенная как idgrey модель. Эта модель создается с использованием указанной начальной системы и опций оценки.

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

Поле отчетаОписание
Status

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

Method

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

InitialState

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

  • 'model' - Начальное состояние параметризуется файлом ODE, используемым idgrey модель.

  • 'zero' - Начальное состояние устанавливается равным нулю.

  • 'estimate' - Исходное состояние рассматривается как независимый оценочный параметр.

  • 'backcast' - Начальное состояние оценивается с использованием наилучшего вписывания наименьших квадратов.

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

Это поле особенно полезно для просмотра обработки начальных состояний при InitialState опция в наборе опций оценки 'auto'.

DisturbanceModel

Обращение с компонентом возмущения (К) при оценке, возвращаемое как одно из следующих значений:

  • 'model' - Значения K параметризуются файлом ODE, используемым idgrey модель.

  • 'fixed' - Значение K имущества idgrey модель фиксируется к ее исходному значению.

  • 'none' - K фиксируется к нулю.

  • 'estimate' - К рассматривается как независимый оценочный параметр.

Это поле особенно полезно для просмотра способа обработки компонента возмущения при DisturbanceModel опция в наборе опций оценки 'auto'.

Fit

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

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

Нормализованная среднеквадратическая ошибка (NRMSE) измерения того, насколько хорошо отклик модели соответствует данным оценки, выраженным в процентах fit = 100 (1-NRMSE).

LossFcn

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

MSE

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

FPE

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

AIC

Показатель качества модели Raw Akaike Information Criteria (AIC).

AICc

Небольшой размер выборки, скорректированный AIC.

nAIC

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

BIC

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

Parameters

Оценочные значения параметров модели.

OptionsUsed

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

RandState

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

DataUsed

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

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

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

Type

Тип данных.

Length

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

Ts

Время выборки.

InterSample

Поведение ввода между образцами, возвращаемое как одно из следующих значений:

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

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

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

InputOffset

Смещение удалено из входных данных временной области во время оценки. Для нелинейных моделей это [].

OutputOffset

Смещение удалено из выходных данных временной области во время оценки. Для нелинейных моделей это [].

Termination

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

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

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

Iterations

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

FirstOrderOptimality

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

FcnCount

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

UpdateNorm

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

LastImprovement

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

Algorithm

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

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

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

x0

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

Этот массив также хранится в Parameters поле модели Report собственность.

Примеры

свернуть все

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

Загрузите измеренные данные.

load(fullfile(matlabroot, 'toolbox', 'ident', 'iddemos', 'data', 'dcmotordata'));
data = iddata(y, u, 0.1, 'Name', 'DC-motor');
data.InputName = 'Voltage';
data.InputUnit = 'V';
data.OutputName = {'Angular position', 'Angular velocity'};
data.OutputUnit = {'rad', 'rad/s'};
data.Tstart = 0;
data.TimeUnit = 's';

data является iddata объект, содержащий измеренные данные для выходных сигналов, угловое положение, угловую скорость. Он также содержит входной сигнал, напряжение возбуждения.

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

Для двигателя постоянного тока выберите угловое положение (рад) и угловую скорость (рад/с) в качестве выходных сигналов и напряжение возбуждения (В) в качестве входного сигнала. Настройте линейную структуру состояния-пространства следующей формы:

(t) = [010-1start] x (t) + [0Gτ] u (t)

y (t) = [1001] x (t).

λ - постоянная времени двигателя в секундах, а G - статический коэффициент усиления от входного до угловой скорости в рад/( V * s ).

G = 0.25; 
tau = 1; 

init_sys = idgrey('motorDynamics',tau,'cd',G,0);

Управляющие уравнения в форме state-space представлены в файле MATLAB ®motorDynamics.m. Для просмотра содержимого этого файла введите edit motorDynamics.m в командной строке MATLAB.

G - это известное количество, которое предоставляется motorDynamics.m в качестве необязательного аргумента.

start- свободный оценочный параметр.

init_sys является idgrey модель, связанная с motor.m.

Оценочная величина start.

sys = greyest(data,init_sys);

sys является idgrey модель, содержащая оценочное значение

Получение оценочных значений параметров, связанных с sys, использовать getpvec(sys).

Проанализируйте результат.

opt = compareOptions('InitialCondition','zero');
compare(data,sys,Inf,opt)

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent DC-motor (Angular position), sys: 98.35%. Axes 2 contains 2 objects of type line. These objects represent DC-motor (Angular velocity), sys: 84.42%.

sys обеспечивает подгонку на 98,35% для углового положения и на 84,42% для угловой скорости.

Оценка параметров двигателя постоянного тока путем включения предварительной информации о параметрах при использовании констант регуляризации.

Модель параметризуется статическим усилением G и константа времени, Из предшествующего знания известно, что G составляет около 4, а, в свою очередь, составляет около 1. Кроме того, у вас больше уверенности в значении G и хотел бы руководствоваться оценкой, чтобы оставаться близким к первоначальному предположению.

Данные оценки нагрузки.

load regularizationExampleData.mat motorData

Данные содержат измерения углового положения и скорости двигателя при заданных входных напряжениях.

Создание idgrey модель для динамики двигателя постоянного тока. Используйте функцию DCMotorODE представляет структуру модели «серый ящик».

mi = idgrey(@DCMotorODE,{'G', 4; 'Tau', 1},'cd',{}, 0);
mi = setpar(mi, 'label', 'default');

Если вы хотите просмотреть DCMotorODE функция, тип:

type DCMotorODE.m
function [A,B,C,D] = DCMotorODE(G,Tau,Ts)
%DCMOTORODE ODE file representing the dynamics of a DC motor parameterized
%by gain G and time constant Tau.
%
%   [A,B,C,D,K,X0] = DCMOTORODE(G,Tau,Ts) returns the state space matrices
%   of the DC-motor with time-constant Tau and static gain G. The sample
%   time is Ts.
%
%   This file returns continuous-time representation if input argument Ts
%   is zero. If Ts>0, a discrete-time representation is returned.
%
% See also IDGREY, GREYEST.

%   Copyright 2013 The MathWorks, Inc.

A = [0 1;0 -1/Tau];
B = [0; G/Tau];
C = eye(2);
D = [0;0];
if Ts>0 % Sample the model with sample time Ts
   s = expm([[A B]*Ts; zeros(1,3)]);
   A = s(1:2,1:2);
   B = s(1:2,3);
end

Укажите параметры регуляризации Лямбда.

opt = greyestOptions;
opt.Regularization.Lambda = 100;

Укажите опции регуляризации R.

opt.Regularization.R = [1, 1000];

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

Укажите начальные значения параметров в качестве опции регуляризации (("regularization") ("regularization" ("регуля

opt.Regularization.Nominal = 'model';

Оцените регуляризованную серую модель.

sys = greyest(motorData, mi, opt);

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

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