Оценка модели процесса с использованием временных или частотных данных
[ возвращает оцененное значение смещения во входном сигнале. Смещение ввода автоматически оценивается, когда модель содержит интегратор, или при установке sys,offset] = procest(___)InputOffset вариант оценки для 'estimate' использование procestOptions. Использовать offset с любым из предыдущих синтаксисов.
[ возвращает оцененные начальные условия в виде sys,offset,ic] = procest(___)initialCondition объект. Используйте этот синтаксис, если планируется смоделировать или спрогнозировать отклик модели с использованием тех же входных данных оценки, а затем сравнить отклик с теми же выходными данными оценки. Включение начальных условий дает лучшее совпадение во время первой части моделирования.
data - Оценочные данныеiddata | idfrd | frdОценочные данные, указанные как iddata объект, содержащий значения входного и выходного сигналов, для оценки во временной области. Для оценки частотной области data может быть одним из следующих:
data должен иметь по крайней мере один вход и один выход.
Модели временных рядов, которые являются моделями, не содержащими измеренных входных данных, не могут быть оценены с помощью procest. Использовать ar, arx, или armax для моделей временных рядов.
type - Структура модели процессаСтруктура модели процесса, заданная для моделей SISO как вектор символов или строка, представляющая акроним для структуры модели, например 'P1D' или 'P2DZ'. Аббревиатура состоит из:
P - Все 'Type' акронимы начинаются с этой буквы.
0, 1, 2, или 3 - Количество моделируемых временных констант (полюсов). Возможные интеграции (полюса в начале координат) в это число не включаются.
I - обеспечивается интеграция (процесс саморегулирования).
D - Задержка по времени (мертвое время).
Z - Дополнительный числитель, ноль.
U - Допускаются недамперированные режимы (сложные полюса). Если U не входит в type, все полюса должны быть настоящими. Число полюсов должно быть равно 2 или 3.
Для моделей MIMO используйте Nyоколо-Nu массив ячеек символьных векторов или строкового массива с одной записью для каждой пары «вход-выход». Здесь Ny - количество входов и Nu - количество выходов.
Для получения информации о том, как type влияет на структуру модели процесса, см. idproc.
InputDelay - Задержки ввода0 для всех входных каналов (по умолчанию) | числовой векторЗадержки на входе, заданные как числовой вектор, задающий временную задержку для каждого входного канала. Укажите задержки на входе в единицу времени, сохраненную в TimeUnit собственность.
Для системы с Nu входы, комплект InputDelay в Nuвектор -by-1. Каждая запись этого вектора является числовым значением, которое представляет входную задержку для соответствующего входного канала. Также можно задать InputDelay к скалярному значению, чтобы применить одинаковую задержку ко всем каналам.
init_sys - Система конфигурирования начальной параметризацииidproc объектСистема конфигурирования начальной параметризации sys, указано как idproc объект. Вы получаете init_sys путем либо выполнения оценки с использованием измеренных данных, либо путем прямого построения с использованием idproc. Программа использует параметры и ограничения, определенные в init_sys в качестве начального предположения для оценки sys.
Используйте Structure имущество init_sys для конфигурирования начальных предположений и ограничений для Kp, Tp1, Tp2, Tp3, Tw, Zeta, Td и Tz. Например:
Задание начального приближения для параметра Tp1 init_sys, комплект init_sys.Structure.Tp1.Value в качестве первоначального предположения.
Задание ограничений для параметра Tp2 init_sys:
Набор init_sys.Structure.Tp2.Minimum до минимального значения Tp2.
Набор init_sys.Structure.Tp2.Maximum до максимального значения Tp2.
Набор init_sys.Structure.Tp2.Free чтобы указать, является ли Tp2 свободным параметром для оценки.
Если opt не указан, и init_sys был получен путем оценки, затем варианты оценки из init_sys.Report.OptionsUsed используются.
opt - Варианты оценкиprocestOptions набор опцийПараметры оценки, указанные как procestOptions набор опций. Варианты оценки включают в себя:
Цель оценки
Обращение с исходными условиями и компонентом возмущения
Метод численного поиска, используемый при оценке
sys - Идентифицированная модель процессаidproc модельИдентифицированная модель процесса, возвращенная как idproc модель структуры, определяемой type.
Информация о результатах оценки и используемых опциях хранится в модели Report собственность. Report имеет следующие поля:
| Поле отчета | Описание | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Status | Сводка состояния модели, указывающая, была ли модель создана путем построения или получена путем оценки. | ||||||||||||||||||
Method | Используется команда оценки. | ||||||||||||||||||
InitialCondition | Обработка исходных условий при оценке модели, возвращаемых как одно из следующих значений:
Это поле особенно полезно для просмотра того, как обрабатывались начальные условия при | ||||||||||||||||||
Fit | Количественная оценка оценки, возвращенная как структура. Дополнительные сведения об этих показателях качества см. в разделе Метрики качества функции потери и модели. Структура имеет следующие поля:
| ||||||||||||||||||
Parameters | Оценочные значения параметров модели. | ||||||||||||||||||
OptionsUsed | Набор опций, используемый для оценки. Если пользовательские параметры не были настроены, это набор параметров по умолчанию. Посмотрите | ||||||||||||||||||
RandState | Состояние потока случайных чисел в начале оценки. Пустое, | ||||||||||||||||||
DataUsed | Атрибуты данных, используемых для оценки. Структура со следующими полями:
| ||||||||||||||||||
Termination | Условия завершения итеративного поиска, используемые для минимизации ошибок прогнозирования, возвращены в виде структуры со следующими полями:
Для методов оценки, которые не требуют оптимизации числового поиска, |
Дополнительные сведения об использовании Report, см. Отчет по оценке.
offset - Расчетное значение входного смещенияОценочное значение входного смещения, возвращаемое в виде вектора. Когда data имеет несколько экспериментов, offset - матрица, где каждый столбец соответствует эксперименту.
ic - Исходные условияinitialCondition object | массив объектов initialCondition ценностиПредполагаемые начальные условия, возвращенные в виде initialCondition объект или массив объектов initialCondition значения.
Для набора данных одного эксперимента: ic представляет в форме state-space свободный отклик модели передаточной функции (матрицы A и C) на оцененные начальные состояния (x0).
Для набора данных нескольких экспериментов с экспериментами Ne, ic - массив объектов длиной Ne, содержащий один набор initialCondition значения для каждого эксперимента.
Если procest прибыль ic значения 0 и вы знаете, что у вас есть ненулевые начальные условия, установите 'InitialCondition' опция в procestOptions кому 'estimate' и передать обновленный набор опций в procest. Например:
opt = procestOptions('InitialCondition,'estimate')
[sys,offset,ic] = procest(data,np,nz,opt)'auto' установка 'InitialCondition' использует 'zero' способ, когда исходные условия оказывают незначительное влияние на общий процесс минимизации ошибок оценки. Определение 'estimate' гарантирует, что программное обеспечение оценивает значения для ic.
Дополнительные сведения см. в разделе initialCondition. Пример использования этого аргумента см. в разделе Получение начальных условий.
Получение измеренных данных ввода-вывода.
load iddemo_heatexchanger_data; data = iddata(pt,ct,Ts); data.InputName = '\Delta CTemp'; data.InputUnit = 'C'; data.OutputName = '\Delta PTemp'; data.OutputUnit = 'C'; data.TimeUnit = 'minutes';
Оценка модели процесса «первый заказ плюс мертвое время».
type = 'P1D';
sysP1D = procest(data,type);Сравните модель с данными.
compare(data,sysP1D)

Постройте график остатков модели.
figure resid(data,sysP1D);

На рисунке показано, что остатки коррелированы. Для этого добавьте в модель процесса компонент возмущения ARMA первого порядка.
opt = procestOptions('DisturbanceModel','ARMA1'); sysP1D_noise = procest(data,'p1d',opt);
Сравните модели.
compare(data,sysP1D,sysP1D_noise)

Постройте график остатков модели.
figure resid(data,sysP1D_noise);

Остатки sysP1D_noise являются некоррелированными.
Используйте регуляризацию для оценки параметров чрезмерно параметризованной модели процесса.
Предположим, что коэффициент усиления известен с более высокой степенью достоверности, чем другие параметры модели.
Загрузить данные.
load iddata1 z1;
Оценка нерегулируемой модели процесса.
m = idproc('P3UZ','K',7.5,'Tw',0.25,'Zeta',0.3,'Tp3',20,'Tz',0.02); m1 = procest(z1,m);
Оценка регуляризованной модели процесса.
opt = procestOptions;
opt.Regularization.Nominal = 'model';
opt.Regularization.R = [100;1;1;1;1];
opt.Regularization.Lambda = 0.1;
m2 = procest(z1,m,opt);Сравните выходные данные модели с данными.
compare(z1,m1,m2);

Регуляризация помогает ориентировать процесс оценки на правильные значения параметров.
Оцените модель процесса после задания начальных предположений для значений параметров и их ограничения.
Получение входных/выходных данных.
data = idfrd(idtf([10 2],[1 1.3 1.2],'iod',0.45),logspace(-2,2,256));Укажите параметры модели инициализации оценки.
type = 'P2UZD';
init_sys = idproc(type);
init_sys.Structure.Kp.Value = 1;
init_sys.Structure.Tw.Value = 2;
init_sys.Structure.Zeta.Value = 0.1;
init_sys.Structure.Td.Value = 0;
init_sys.Structure.Tz.Value = 1;
init_sys.Structure.Kp.Minimum = 0.1;
init_sys.Structure.Kp.Maximum = 10;
init_sys.Structure.Td.Maximum = 1;
init_sys.Structure.Tz.Maximum = 10;Укажите параметры оценки.
opt = procestOptions('Display','full','InitialCondition','Zero'); opt.SearchMethod = 'lm'; opt.SearchOptions.MaxIterations = 100;
Оцените модель процесса.
sys = procest(data,init_sys,opt);
С момента 'Display' параметр указан как 'full'в отдельном окне «Plant Identification Progress» отображается ход выполнения оценки.
Сравните данные с расчетной моделью.
compare(data,sys,init_sys);

Получение входных/выходных данных.
load iddata1 z1 load iddata2 z2 data = [z1 z2(1:300)];
data представляет собой набор данных с 2 входами и 2 выходами. Первый вход влияет только на первый выход. Аналогично, второй вход влияет только на второй выход.
В расчетной модели процесса перекрестные термины, моделирующие влияние первого входного сигнала на второй выходной сигнал и наоборот, должны быть незначительными. Если этой динамике присваиваются более высокие порядки, то их оценки показывают высокий уровень неопределенности.
Оцените модель процесса.
type = 'P2UZ';
sys = procest(data,type); type переменная обозначает модель с комплексно-сопряженной парой полюсов, нулем и задержкой.
Чтобы оценить неопределенности, постройте график частотной характеристики.
w = linspace(0,20*pi,100); h = bodeplot(sys,w); showConfidence(h);

load iddata1 [sys,offset] = procest(z1,'P1DI'); offset
offset = 0.0412
Загрузите данные.
load iddata1ic z1i
Оценка модели процесса «первый заказ плюс мертвое время» sys и вернуть начальные условия в ic. Сначала укажите 'estimate' для 'InitialCondition' заставить программное обеспечение оценить ic. Дефолт 'auto' установка использует 'estimate' method только когда влияние начальных условий на общую ошибку модели превышает пороговое значение. Когда исходные условия оказывают незначительное влияние на общий процесс минимизации ошибок оценки, 'auto'установка использует 'zero'.
opt = procestOptions('InitialCondition','estimate'); [sys,offset,ic] = procest(z1i,'P1D',opt); ic
ic =
initialCondition with properties:
A: -3.8997
X0: -1.0871
C: 4.5652
Ts: 0
ic является initialCondition объект, инкапсулирующий свободный ответ sys, в форме state-space, к вектору начального состояния в X0. Вы можете включить ic при моделировании sys с z1i входной сигнал и сравнить отклик с z1i выходной сигнал.
Поддержка параллельных вычислений доступна для оценки с использованием lsqnonlin метод поиска (требуется Toolbox™ оптимизации). Чтобы включить параллельные вычисления, используйте procestOptions, комплект SearchMethod кому 'lsqnonlin', и установить SearchOptions.Advanced.UseParallel кому true.
Например:
opt = procestOptions;
opt.SearchMethod = 'lsqnonlin';
opt.SearchOptions.Advanced.UseParallel = true;
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.