Оцените модель процесса, использующую данные о частоте или время
sys = procest(data,type)
sys = procest(data,type,'InputDelay',InputDelay)
sys = procest(data,init_sys)
sys = procest(___,opt)
[sys,offset] = procest(___)
[
возвращает ориентировочное значение смещения во входном сигнале. Входное смещение автоматически оценивается, когда модель содержит интегратор, или когда вы устанавливаете опцию оценки sys
,offset
] = procest(___)InputOffset
на 'estimate'
с помощью procestOptions
. Используйте offset
с любым из предыдущих синтаксисов.
данные
Данные об оценкеiddata
| idfrd
| frd
Данные об оценке, заданные как объект iddata
, содержащий значения сигналов ввода и вывода, для оценки временного интервала. Для оценки частотного диапазона data
может быть одним из следующего:
data
должен иметь по крайней мере один вход и один вывод.
Модели timeseries, которые являются моделями, которые не содержат измеренных входных параметров, не могут быть оценены с помощью procest
. Используйте ar
, arx
или armax
для моделей timeseries вместо этого.
ввод
Структура модели процессаСтруктура модели процесса, заданная для моделей SISO как вектор символов или строка, представляющая акроним для образцовой структуры, таких как 'P1D'
или 'P2DZ'
. Акроним составлен из:
P
Все акронимы 'Type'
начинаются с этой буквы.
0
, 1
, 2
или 3
— Количество временных констант (полюса), которые будут смоделированы. Возможные интегрирования (полюса в источнике) не включены в этот номер.
I
Интегрирование осуществляется (автономный процесс).
D
Задержка (потеря времени).
Z
Дополнительный термин числителя, нуль.
Режимы U
— Underdamped (полюса с комплексным знаком) разрешенный. Если U
не включен в type
, все полюса должны быть действительными. Количество полюсов должно быть 2 или 3.
Для моделей MIMO используйте Ny
-by-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
является матрицей, где каждый столбец соответствует эксперименту.
Получите измеренные данные ввода - вывода.
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);
Поддержка параллельных вычислений доступна для оценки с помощью метода поиска lsqnonlin
(требует Optimization Toolbox™). Чтобы включить параллельные вычисления, используйте procestOptions
, установите SearchMethod
на 'lsqnonlin'
и установите SearchOptions.Advanced.UseParallel
на true
.
Например:
opt = procestOptions;
opt.SearchMethod = 'lsqnonlin';
opt.SearchOptions.Advanced.UseParallel = true;
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.