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