Оцените модель в пространстве состояний сокращением упорядоченной модели ARX
задает дополнительные опции с помощью одного или нескольких sys
= ssregest(data
,nx
,Name,Value
)Name,Value
парные аргументы.
Загрузите данные об оценке.
load iddata2 z2;
z2
iddata
объект, который содержит данные об отклике системы временного интервала.
Идентифицируйте модель в пространстве состояний третьего порядка.
sys = ssregest(z2,3);
Загрузите данные об оценке.
load iddata2 z2
Оцените модель в пространстве состояний третьего порядка с входной задержкой.
sys = ssregest(z2,3,'InputDelay',2);
Загрузите данные об оценке.
load iddata2 z2;
Задайте порядок упорядоченной модели ARX, используемой программным обеспечением во время оценки. Кроме того, установите особое внимание оценки на симуляцию.
opt = ssregestOptions('ARXOrder',[100 100 1],'Focus','simulation');
Идентифицируйте модель в пространстве состояний третьего порядка.
sys = ssregest(z2,3,opt);
Загрузите данные об оценке.
load iddata2 z2;
Получите значения начального состояния при идентификации модели в пространстве состояний третьего порядка.
[sys,x0] = ssregest(z2,3);
Загрузка данных.
load regularizationExampleData eData;
Создайте модель передаточной функции, используемую в генерации данных об оценке (истинная система).
trueSys = idtf([0.02008 0.04017 0.02008],[1 -1.561 0.6414],1);
Получите упорядоченную модель (FIR) импульсной характеристики.
opt = impulseestOptions('RegularizationKernel','DC'); m0 = impulseest(eData,70,opt);
Преобразуйте модель в модель в пространстве состояний и уменьшайте порядок модели.
m1 = balred(idss(m0),15);
Получите вторую модель в пространстве состояний с помощью упорядоченного сокращения модели ARX.
m2 = ssregest(eData,15);
Сравните импульсные характеристики истинной системы и предполагаемых моделей.
impulse(trueSys,m1,m2,50); legend('trueSys','m1','m2');
data
— Данные об оценкеiddata
| idfrd
| frd
Данные об оценке, заданные как iddata
, idfrd
или frd
объект.
Для оценки временного интервала, data
должен быть iddata
объект, содержащий значения сигналов ввода и вывода.
Для оценки частотного диапазона, data
может быть одно из следующего:
Записанные данные о частотной характеристике (frd
или idfrd
)
iddata
объект с его свойствами, заданными можно следующим образом:
InputData
— Преобразование Фурье входного сигнала
OutputData
— Преобразование Фурье выходного сигнала
Domain
— 'Frequency'
Шаг расчета Ts
из iddata
объект должен быть ненулевым.
nx
— Порядок предполагаемой модели'best'
Порядок предполагаемой модели, заданной как положительная скалярная величина или вектор.
Если nx
вектор, затем ssregest
создает график, который можно использовать, чтобы выбрать подходящий порядок модели. График показывает сингулярные значения Ганкеля для моделей выбранных значений в векторе. Состояния с относительно маленькими сингулярными значениями Ганкеля могут быть безопасно отброшены. Выбор по умолчанию предлагается в графике.
Можно также задать nx = 'best'
, как в ssregest(data,'best')
, в этом случае оптимальный порядок выбран автоматически в области значений 1:10.
opt
— Опции установлены для ssregest
ssregestOptions
опции установленыОпции оценки для ssregest
, заданный как опции устанавливают вас, создают использование ssregestOptions
.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
sys = ssregest(z2,3,'InputDelay',2)
задает задержку 2 периодов выборки.'Ts'
'SampleTime' data.Ts
) (значение по умолчанию) | положительная скалярная величина | 0Шаг расчета модели, заданной как 0 или равный шагу расчета data
.
Для моделей непрерывного времени используйте Ts = 0
. Для моделей дискретного времени задайте Ts
как положительная скалярная величина, значение которой равно шагу расчета данных.
'InputDelay'
— Введите задержкиВведите задержку каждого входного канала, заданного как числовой вектор. Для систем непрерывного времени задайте входные задержки единицы измерения времени, сохраненной в TimeUnit
свойство. Для систем дискретного времени задайте входные задержки целочисленных множителей шага расчета Ts
. Например, InputDelay = 3
означает задержку трех периодов выборки.
Для системы с Nu
входные параметры, набор InputDelay
к Nu
- 1 вектор. Каждая запись этого вектора является численным значением, которое представляет входную задержку соответствующего входного канала.
Можно также установить InputDelay
к скалярному значению, чтобы применить ту же задержку со всеми каналами.
'Form'
— Тип канонической формы'free'
(значение по умолчанию) | 'modal'
| 'companion'
| 'canonical'
Тип канонической формы sys
, заданный как одно из следующих значений:
'modal'
— Получите sys
в модальной форме.
'companion'
— Получите sys
в сопутствующей форме.
'free'
— Все записи A, B и матриц C обработаны как свободные.
'canonical'
— Получите sys
в канонической форме наблюдаемости [1].
Используйте Form
, Feedthrough
и DisturbanceModel
аргументы пары "имя-значение", чтобы изменить поведение по умолчанию A, B, C, D и матриц K.
'Feedthrough'
— Прямое сквозное соединение от входа, чтобы вывести
(значение по умолчанию) | 1
| логический векторПрямое сквозное соединение от входа, чтобы вывести, заданный как логический вектор длины Nu, где Nu является количеством входных параметров. Если Feedthrough
задан как логический скаляр, он применяется ко всем входным параметрам.
Используйте Form
, Feedthrough
и DisturbanceModel
аргументы пары "имя-значение", чтобы изменить поведение по умолчанию A, B, C, D и матриц K.
'DisturbanceModel'
— Задайте, оценить ли матрицу K'estimate'
(значение по умолчанию) | 'none'
Задайте, оценить ли матрицу K, которая задает шумовой компонент, заданный как одно из следующих значений:
'none'
— Шумовой компонент не оценивается. Значение матрицы K фиксируется к нулевому значению.
'estimate'
— Матрица K обработана как свободный параметр.
DisturbanceModel
должен быть 'none'
при использовании данных частотного диапазона.
Используйте Form
, Feedthrough
и DisturbanceModel
аргументы пары "имя-значение", чтобы изменить поведение по умолчанию A, B, C, D и матриц K.
sys
— Предполагаемая модель в пространстве состоянийidss
Предполагаемая модель в пространстве состояний порядка nx
, возвращенный как idss
объект модели. Модель представляет:
A, B, C, D и K являются матрицами пространства состояний. u (t) является входом, y (t) является выход, e (t) является воздействием, и x (t) является вектором nx
состояния.
Все записи A, B, C и K являются свободными допускающими оценку параметрами по умолчанию. D фиксируется, чтобы обнулить по умолчанию, означая, что нет никакого сквозного соединения, за исключением статических систем (nx=0
).
Информация о результатах оценки и используемых опциях хранится в Report
свойство модели. Report
имеет следующие поля:
Сообщите о поле | Описание | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Status | Сводные данные состояния модели, которое указывает, была ли модель создана конструкцией или получена оценкой. | ||||||||||||||||||
Method | Команда оценки используется. | ||||||||||||||||||
InitialState | Обработка начальных состояний во время оценки, возвращенной как одно из следующих значений:
Это поле особенно полезно когда | ||||||||||||||||||
ARXOrder | Порядки модели ARX, возвращенные как матрица неотрицательных целых чисел | ||||||||||||||||||
Fit | Количественная оценка оценки, возвращенной как структура. Смотрите Функцию потерь и Метрики качества Модели для получения дополнительной информации об этих метриках качества. Структура имеет следующие поля:
| ||||||||||||||||||
Parameters | Ориентировочные стоимости параметров модели. | ||||||||||||||||||
OptionsUsed | Набор опции используется в оценке. Если никакие пользовательские опции не были сконфигурированы, это - набор опций по умолчанию. Смотрите | ||||||||||||||||||
RandState | Состояние потока случайных чисел в начале оценки. | ||||||||||||||||||
DataUsed | Атрибуты данных используются в оценке, возвращенной как структура со следующими полями:
|
Для получения дополнительной информации об использовании Report
, см. Отчет Оценки.
x0
— Начальные состояния вычисляются во время оценкиНачальные состояния вычисляются во время оценки, возвращенной как скаляр. Если data
содержит несколько экспериментов, затем x0
матрица с каждым столбцом, соответствующим эксперименту.
Это значение также хранится в Parameters
поле Report
модели свойство.
В модальной форме A является блочно диагональной матрицей. Размер блока обычно 1 на 1 для действительных собственных значений и 2 на 2 для комплексных собственных значений. Однако, если существуют повторенные собственные значения или кластеры соседних собственных значений, размер блока может быть больше.
Например, для системы с собственными значениями , модальная матрица A имеет форму
В сопутствующей реализации характеристический полином системы появляется явным образом в крайнем правом столбце матрицы A.
Для системы характеристическим полиномом
соответствующий компаньон матрица A
Сопутствующее преобразование требует, чтобы система была управляема от первого входа. Сопутствующая форма плохо обусловливается для большинства расчетов пространства состояний; избегайте использования его, если это возможно.
ssregest
функция обеспечивает улучшенную точность, чем n4sid
для краткости наборы зашумленных данных.
Для некоторых проблем, качества подгонки с помощью n4sid
чувствительно к опциям, таков как N4Horizon
, чьи значения могут затруднить, чтобы определить. В сравнении, качестве подгонки с ssregest
менее чувствительно к его опциям, который делает ssregest
более простой использовать.
ssregest
оценивает упорядоченную модель ARX и преобразует модель ARX в модель в пространстве состояний. Программное обеспечение затем использует сбалансированные техники снижения сложности модели, чтобы уменьшать модель в пространстве состояний до заданного порядка.
[1] Ljung, L. System Identification: Теория Для Пользователя, Второго Выпуска, Приложения 4A, стр 132-134, Верхнего Сэддл-Ривер, Нью-Джерси: Prentice Hall, 1999.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.