Оцените модель в пространстве состояний с помощью данных частотного диапазона или временного интервала
оценивает модель в пространстве состояний непрерывного времени sys
= ssest(data
,nx
)sys
из порядка nx
, использование данных data
это может быть во временном интервале или частотном диапазоне. sys
модель следующей формы:
A, B, C, D и K являются матрицами пространства состояний. u (t) является входом, y (t) является выход, e (t) является воздействием, и x (t) является вектором nx
состояния.
Все записи A, B, C и K являются свободными допускающими оценку параметрами по умолчанию. D фиксируется, чтобы обнулить по умолчанию, означая, что нет никакого сквозного соединения, за исключением статических систем (nx = 0
).
включает дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение". Например, оцените модель дискретного времени путем определения шага расчета sys
= ssest(data
,nx
,Name,Value
)'Ts'
аргумент пары "имя-значение". Используйте 'Form'
, 'Feedthrough'
, и 'DisturbanceModel'
аргументы пары "имя-значение", чтобы изменить поведение по умолчанию A, B, C, D и матриц K.
Оцените модель в пространстве состояний и сравните ее ответ с измеренным выходом.
Загрузите данные ввода - вывода, которые хранятся в iddata
объект.
load iddata1 z1
Оцените модель в пространстве состояний четвертого порядка.
nx = 4; sys = ssest(z1,nx);
Сравните симулированный ответ модели с измеренным выходом.
compare(z1,sys)
График показывает, что подходящий процент между симулированной моделью и данными об оценке больше 70%.
Можно просмотреть больше информации об оценке путем исследования idss
свойство sys.Report
.
sys.Report
ans = Status: 'Estimated using SSEST with prediction focus' Method: 'SSEST' InitialState: 'zero' N4Weight: 'CVA' N4Horizon: [6 10 10] Fit: [1x1 struct] Parameters: [1x1 struct] OptionsUsed: [1x1 idoptions.ssest] RandState: [] DataUsed: [1x1 struct] Termination: [1x1 struct]
Например, узнайте больше информации об условиях завершения.
sys.Report.Termination
ans = struct with fields:
WhyStop: 'No improvement along the search direction with line search.'
Iterations: 7
FirstOrderOptimality: 85.9759
FcnCount: 123
UpdateNorm: 8.8793
LastImprovement: 0
Отчет включает в себя информацию о количестве итераций и причины, которой оценка прекратила выполнять итерации.
Загрузите данные ввода - вывода z1
, который хранится в iddata
объект. Это - те же данные, используемые, чтобы оценить модель четвертого порядка в Модели в пространстве состояний.
load iddata1 z1;
Определите оптимальный порядок модели путем определения аргумента nx
как диапазон от 1:10
.
nx = 1:10; sys = ssest(data,nx);
Автоматически сгенерированный график показывает сингулярные значения Ганкеля для моделей порядков, заданных nx
.
Состояния с относительно маленькими сингулярными значениями Ганкеля могут быть безопасно отброшены. Предложенным выбором порядка по умолчанию является 2
.
Выберите порядок модели в Chosen Order, перечисляют и нажимают Apply.
Загрузите данные об отклике системы временного интервала.
load iddata7 z7;
Идентифицируйте модель в пространстве состояний четвертого порядка данных. Задайте известную задержку 2
секунды для первого входа и 0
секунды для второго входа.
nx = 4;
sys = ssest(z7(1:300),nx,'InputDelay',[2;0]);
Измените каноническую форму A, B, и матрицы C, включайте проходной термин в матрице D и устраните оценку возмущения матрицу K.
Загрузите данные ввода - вывода и оцените систему четвертого порядка с помощью ssest
опции по умолчанию.
load iddata1 z1 sys1 = ssest(z1,4);
Укажите, что компаньон формирует и сравнивает A
матрица с A
по умолчанию матрица.
sys2 = ssest(z1,4,'Form','Companion'); A1 = sys1.A
A1 = 4×4
-0.5155 -3.8483 0.6657 -0.2666
5.8665 -2.7285 1.0649 -1.4694
-0.4487 0.9308 -0.6235 18.8148
-0.4192 0.5595 -16.0688 0.5399
A2 = sys2.A
A2 = 4×4
103 ×
0 0 0 -7.1122
0.0010 0 0 -0.9547
0 0.0010 0 -0.3263
0 0 0.0010 -0.0033
Включайте проходной термин и сравните D
матрицы.
sys3 = ssest(z1,4,'Feedthrough',1);
D1 = sys1.D
D1 = 0
D3 = sys3.D
D3 = 0.0339
Устраните моделирование воздействия и сравните K
матрицы.
sys4 = ssest(z1,4,'DisturbanceModel','none'); K1 = sys1.K
K1 = 4×1
0.0520
0.0973
0.0151
0.0270
K4 = sys4.K
K4 = 4×1
0
0
0
0
Задайте ssest
оцените начальные состояния как независимые параметры оценки.
ssest
может обработать начальные состояния с помощью одного из нескольких методов. По умолчанию, ssest
выбирает метод автоматически на основе ваших данных об оценке. Можно выбрать метод сами путем изменения набора опции с помощью ssestOptions
.
Загрузите данные ввода - вывода z1
и оцените модель в пространстве состояний второго порядка sys
использование опций по умолчанию. Используйте синтаксис, который возвращает начальные состояния x0
.
load iddata1 z1 [sys,x0] = ssest(z1,2); x0
x0 = 2×1
0
0
По умолчанию оценка выполняется с помощью 'auto'
установка для InitialState
. Узнайте который метод ssest
примененный путем рассмотрения значения InitialState
в sys.Repor
t.
sys.Report.InitialState
ans = 'zero'
Программное обеспечение применило 'zero'
метод, означая, что программное обеспечение обнулило начальные состояния вместо того, чтобы оценить их. Этот выбор сопоставим с 0
значения возвращены для x0
.
Задайте тот ssest
оцените начальные состояния вместо этого как независимые параметры с помощью 'estimate'
установка. Используйте ssestOptions
создать модифицированный набор опции и указать что набор опции, чтобы оценить новую модель.
opt = ssestOptions('InitialState','estimate'); [sys1,x0] = ssest(z1,2,opt); x0
x0 = 2×1
0.0068
0.0052
x0
теперь оценил параметры с ненулевыми значениями.
Получите упорядоченную модель в пространстве состояний пятого порядка для системы второго порядка от узкого сигнала пропускной способности.
Загрузите данные об оценке.
load regularizationExampleData eData;
Создайте модель передаточной функции, используемую в генерации данных об оценке (истинная система).
trueSys = idtf([0.02008 0.04017 0.02008],[1 -1.561 0.6414],1);
Оцените неупорядоченную модель в пространстве состояний.
opt = ssestOptions('SearchMethod','lm'); m = ssest(eData,5,'form','modal','DisturbanceModel','none','Ts',eData.Ts,opt);
Оцените упорядоченную модель в пространстве состояний.
opt.Regularization.Lambda = 10; mr = ssest(eData,5,'form','modal','DisturbanceModel','none','Ts',eData.Ts,opt);
Сравните выходные параметры модели с данными об оценке.
compare(eData,m,mr);
Сравните импульсные характеристики модели.
impulse(trueSys,m,mr,50); legend('trueSys','m','mr');
Оцените модель в пространстве состояний измеренных данных ввода - вывода. Сконфигурируйте ограничения параметра и начальные значения для оценки с помощью модели в пространстве состояний.
Создайте idss
модель, чтобы задать начальную параметризацию для оценки.
A = blkdiag([-0.1 0.4; -0.4 -0.1],[-1 5; -5 -1]); B = [1; zeros(3,1)]; C = [1 1 1 1]; D = 0; K = zeros(4,1); x0 = [0.1 0.1 0.1 0.1]; Ts = 0; init_sys = idss(A,B,C,D,K,x0,Ts);
Установка всех записей K
к 0
создает idss
модель без элемента воздействия состояния.
Используйте Structure
свойство зафиксировать значения некоторых параметров модели. Сконфигурируйте модель так, чтобы B
и K
фиксируются, и только ненулевые записи A
являются допускающими оценку.
init_sys.Structure.A.Free = (A~=0); init_sys.Structure.B.Free = false; init_sys.Structure.K.Free = false;
Записи в init_sys.Structure.A.Free
определите ли соответствующие записи в init_sys.A
свободны (true
) или зафиксированный (false
).
Загрузите результаты измерений и оцените модель в пространстве состояний с помощью ограничений параметра и начальных значений, заданных init_sys
.
load iddata2 z2; sys = ssest(z2,init_sys);
Предполагаемые параметры sys
удовлетворите ограничениям, заданным init_sys
.
data
— Данные об оценкеiddata
возразите | frd
возразите | idfrd
объектДанные об оценке, заданные как iddata
объект, frd
объект или idfrd
объект.
Для оценки временного интервала, data
должен быть iddata
объект, содержащий значения сигналов ввода и вывода.
Для оценки частотного диапазона, data
может быть одно из следующего:
nx
— Порядок предполагаемой модели
(значение по умолчанию) | положительный целочисленный скаляр | положительный целочисленный вектор | 0
Порядок предполагаемой модели, заданной как неотрицательное целое число или как вектор, содержащий область значений положительных целых чисел.
Если вы уже знаете то, что приказывает, чтобы вы хотели, чтобы ваша предполагаемая модель имела, задала nx
как скаляр.
Если вы хотите сравнить область значений потенциальных порядков выбрать самый эффективный порядок для вашей предполагаемой модели, укажите диапазон в nx
. ssest
создает график сингулярного значения Ганкеля, который показывает относительные энергетические вклады каждого состояния в системе. Состояния с относительно маленькими сингулярными значениями Ганкеля способствуют мало точности модели и могут быть отброшены с небольшим ударом. Индекс самого высокого состояния, которое вы сохраняете, является порядком модели. Окно графика включает предложение для порядка использовать. Можно принять это предложение или ввести различный заказ. Для примера смотрите, Определяют Оптимальный Предполагаемый Порядок Модели.
Если вы не задаете nx
, программное обеспечение автоматически выбирает nx
из области значений 1:10
.
Если вы идентифицируете статическую систему, установите nx
к 0
.
opt
— Опции оценкиssestOptions
опция установленаОпции оценки, заданные как ssestOptions
опция установлена. Опции заданы opt
включение:
Цель оценки
Обработка начальных условий
Регуляризация
Числовой метод поиска используется в оценке
Для примеров, показывающих, как использовать opt
, смотрите Оценочные начальные состояния как Независимые Параметры и Оценочную Модель в пространстве состояний Используя Регуляризацию.
init_sys
— Линейная система, которая конфигурирует начальную параметризацию sysidss
модель | структураЛинейная система, которая конфигурирует начальную параметризацию sys
, заданный как idss
модель или как структура. Вы получаете init_sys
или выполнением оценки с помощью результатов измерений или прямой конструкцией.
Если init_sys
idss
модель, ssest
использует значения параметров init_sys
как исходное предположение для оценки sys
. Для получения информации о том, как задать idss
, смотрите Оценочные Модели в пространстве состояний со Структурированной Параметризацией. ssest
ограничения почестей на параметры init_sys
, такой как зафиксированные коэффициенты и минимальные/максимальные границы.
Используйте Structure
свойство init_sys
сконфигурировать начальные значения параметров и ограничения для A, B, C, D и матриц K. Например:
Задавать исходное предположение для матрицы A init_sys
, установите init_sys.Structure.A.Value
как исходное предположение.
Задавать ограничения для матрицы B init_sys
:
Установите init_sys.Structure.B.Minimum
к минимальному матричному значению B
Установите init_sys.Structure.B.Maximum
к максимальному матричному значению B
Установите init_sys.Structure.B.Free
указать, являются ли записи матрицы B свободными параметрами для оценки
Установить более комплексные ограничения, такие как взаимозависимость коэффициентов, оценка серого ящика использования с помощью greyest
и idgrey
.
Необходимо присвоить конечные начальные значения для всех параметров матрицы.
Если init_sys
не пространство состояний (idss
) модель, программное обеспечение сначала преобразует init_sys
к idss
модель. ssest
использует параметры получившейся модели как исходное предположение для оценки.
Если вы не задаете opt
и init_sys
был получен оценкой, затем программное обеспечение использует опции оценки от init_sys.Report.OptionsUsed
.
Для примера смотрите Оценку Частично Известная Модель в пространстве состояний Используя Структурированную Оценку.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
sys = ssest(data,nx,'Ts',0.1)
'Ts'
— Шаг расчета предполагаемой модели
(непрерывное время) (значение по умолчанию) | шаг расчета данных data.Ts
) | положительная скалярная величинаШаг расчета предполагаемой модели, заданной как разделенная запятой пара, состоящая из 'Ts'
и любой 0
или положительная скалярная величина.
Для моделей непрерывного времени задайте 'Ts'
как 0
.
Для моделей дискретного времени задайте 'Ts'
когда шаг расчета данных в модулях сохранен в TimeUnit
свойство.
'InputDelay'
— Введите задержки
(значение по умолчанию) | скаляр | векторВведите задержку каждого входного канала, заданного как разделенная запятой пара, состоящая из 'InputDelay'
и числовой вектор.
Для моделей непрерывного времени задайте 'InputDelay'
в единицах измерения времени, сохраненных в TimeUnit
свойство.
Для моделей дискретного времени задайте 'InputDelay'
в целочисленных множителях шага расчета Ts
. Например, установка 'InputDelay'
к 3
задает задержку трех периодов выборки.
Для системы с входными параметрами Nu, набор InputDelay
к Nu-by-1 вектор. Каждая запись этого вектора является численным значением, которое представляет входную задержку соответствующего входного канала. Для примера смотрите, Идентифицируют Модель в пространстве состояний с Входной Задержкой.
Чтобы применить ту же задержку со всеми каналами, задайте InputDelay
как скаляр.
'Form'
— Тип канонической формы'free'
(значение по умолчанию) | 'modal'
| 'companion'
| 'canonical'
Тип канонической формы sys
, заданный как разделенная запятой пара, состоящая из 'Form'
и одно из следующих значений:
'free'
— Все записи матриц A, B, C, D и K обработаны как свободные.
'modal'
— Получите sys
в модальной форме.
'companion'
— Получите sys
в сопутствующей форме.
'canonical'
— Получите sys
в канонической форме наблюдаемости [1].
Для получения дополнительной информации смотрите Оценочные Модели в пространстве состояний с Канонической Параметризацией. Для примера смотрите, Изменяют Форму, Сквозное соединение и Матрицы Возмущения.
'Feedthrough'
— Прямое сквозное соединение от входа, чтобы вывести
(значение по умолчанию) | 1
| логический векторПрямое сквозное соединение от входа, чтобы вывести, заданный как разделенная запятой пара, состоящая из 'Feedthrough'
и логический вектор длины Nu, где Nu является количеством входных параметров. Если вы задаете Feedthrough
как логический скаляр, то значение применяется ко всем входным параметрам. Для статических систем программное обеспечение всегда принимает 'Feedthrough'
1
.
Для примера смотрите, Изменяют Форму, Сквозное соединение и Матрицы Возмущения.
'DisturbanceModel'
— Опция, чтобы оценить шумовые параметры компонента'estimate'
(значение по умолчанию) | 'none'
Опция, чтобы оценить шумовые параметры компонента в матрице K, заданной как разделенная запятой пара, состоящая из 'DisturbanceModel'
и одно из следующих значений:
'estimate'
— Оцените шумовой компонент. Матрица K обработана как свободный параметр.
'none'
— Не оценивайте шумовой компонент. Элементы матрицы K фиксируются в нуле.
Для данных частотного диапазона программное обеспечение принимает тот 'DisturbanceModel'
'none'
.
Для получения дополнительной информации смотрите Оценочные Модели в пространстве состояний с Канонической Параметризацией. Для примера смотрите, Изменяют Форму, Сквозное соединение и Матрицы Возмущения.
sys
— Идентифицированная модель в пространстве состоянийidss
модельИдентифицированная модель в пространстве состояний, возвращенная как idss
модель. Эта модель создается с помощью заданных порядков модели, задержек и опций оценки.
Информация о результатах оценки и используемых опциях хранится в Report
свойство модели. Report
имеет следующие поля.
Сообщите о поле | Описание | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Status | Сводные данные состояния модели, которое указывает, была ли модель создана конструкцией или получена оценкой. | ||||||||||||||||||
Method | Команда оценки используется. | ||||||||||||||||||
InitialState | То, как начальные состояния были обработаны во время оценки, возвратилось как одно из следующих значений:
Это поле особенно полезно когда | ||||||||||||||||||
N4Weight | Схема Weighting, используемая в сингулярном разложении алгоритмом N4SID, возвращенным как одно из следующих значений:
Эта опция особенно полезна когда | ||||||||||||||||||
N4Horizon | Передайте и обратные горизонты прогноза, используемые алгоритмом N4SID, возвращенным как вектор-строка с тремя элементами — | ||||||||||||||||||
Fit | Количественная оценка оценки, возвращенной как структура. Смотрите Функцию потерь и Метрики качества Модели для получения дополнительной информации об этих метриках качества. Структура имеет следующие поля:
| ||||||||||||||||||
Parameters | Ориентировочные стоимости параметров модели. | ||||||||||||||||||
OptionsUsed | Набор опции используется в оценке. Если никакие пользовательские опции не были сконфигурированы, это - набор опций по умолчанию. Смотрите | ||||||||||||||||||
RandState | Состояние потока случайных чисел в начале оценки. | ||||||||||||||||||
DataUsed | Атрибуты данных используются в оценке. Структура со следующими полями:
| ||||||||||||||||||
Termination | Условия завершения для итеративного поиска используются в ошибочной минимизации прогноза. Структура со следующими полями:
Для методов оценки, которые не требуют числовой оптимизации поиска, |
Для получения дополнительной информации об использовании Report
, см. Отчет Оценки.
x0
— Начальные состояния вычисляются во время оценкиНачальные состояния вычисляются во время оценки, возвращенной как массив, содержащий вектор-столбец, соответствующий каждому эксперименту.
Этот массив также хранится в Parameters
поле модели Report
свойство.
Для примера смотрите Оценочные начальные состояния как Независимые Параметры.
В модальной форме A является блочно диагональной матрицей. Размер блока обычно 1 на 1 для действительных собственных значений и 2 на 2 для комплексных собственных значений. Однако, если существуют повторенные собственные значения или кластеры соседних собственных значений, размер блока может быть больше.
Например, для системы с собственными значениями , модальная матрица A имеет форму
В сопутствующей реализации характеристический полином системы появляется явным образом в крайнем правом столбце матрицы A.
Для системы характеристическим полиномом
соответствующий компаньон матрица A
Сопутствующее преобразование требует, чтобы система была управляема от первого входа. Сопутствующая форма плохо обусловливается для большинства расчетов пространства состояний; избегайте использования его, если это возможно.
ssest
инициализирует оценки параметра с помощью или неитеративного подхода подпространства или итеративного подхода оценки рациональной функции. Это затем совершенствовало значения параметров с помощью ошибочного подхода минимизации прогноза. Для получения дополнительной информации смотрите pem
и ssestOptions
.
[1] Ljung, L. System Identification: теория для пользователя, второго выпуска. Верхний Сэддл-Ривер, NJ: PTR Prentice Hall, 1999.
Поддержка параллельных вычислений доступна для оценки с помощью lsqnonlin
метод поиска (требует Optimization Toolbox™). Чтобы включить параллельные вычисления, используйте ssestOptions
, установите SearchMethod
к 'lsqnonlin'
, и набор SearchOptions.Advanced.UseParallel
к true
.
Например:
opt = ssestOptions;
opt.SearchMethod = 'lsqnonlin';
opt.SearchOptions.Advanced.UseParallel = true;
canon
| iddata
| idfrd
| idgrey
| idss
| n4sid
| pem
| polyest
| procest
| ssestOptions
| ssregest
| tfest
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.