Оценка модели состояния пространства с использованием данных временной или частотной области
оценивает непрерывную модель состояния-пространства sys = ssest(data,nx)sys порядка nx, использование данных data это может быть во временной или частотной области. sys является моделью следующей формы:
(t) + Du (t) + e (t)
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: 14.2002
LastImprovement: 0
Отчет содержит информацию о количестве итераций и причине прекращения итерации оценки.
Загрузка данных ввода-вывода z1, который хранится в iddata объект. Это те же данные, которые используются для оценки модели четвертого порядка в State-Space Model.
load iddata1 z1
Определение оптимального порядка модели путем указания аргумента nx как диапазон от 1:10.
nx = 1:10; sys = ssest(z1,nx);
Автоматически созданный график показывает сингулярные значения Hankel для моделей заказов, указанных nx.

Состояния с относительно небольшими сингулярными значениями Ганкеля могут быть безопасно отброшены. Предлагаемый выбор заказа по умолчанию: 2.
Выберите порядок модели в списке Выбранный порядок (Selected 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.DD1 = 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.Report.
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 - Порядок расчетной модели1:10 (по умолчанию) | положительный целочисленный скаляр | положительный целочисленный вектор | 0Порядок расчетной модели, определяемый как неотрицательное целое число или как вектор, содержащий диапазон положительных целых чисел.
Если вы уже знаете, в каком порядке вы хотите иметь предполагаемую модель, укажите nx как скаляр.
Если требуется сравнить диапазон потенциальных заказов для выбора наиболее эффективного заказа для расчетной модели, укажите диапазон в nx. ssest создает график сингулярного значения Ханкеля, который показывает относительные энергетические вклады каждого состояния в системе. Государства с относительно небольшими сингулярными значениями Ганкеля мало способствуют точности модели и могут быть отброшены с небольшим воздействием. Индекс наивысшего сохраняемого состояния - это порядок модели. Окно графика содержит предложение по использованию заказа. Можно принять это предложение или ввести другой заказ. Пример см. в разделе Определение оптимального расчетного порядка модели.
Если не указать nx, или если вы указываете nx как best, программное обеспечение автоматически выбирает 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 не является state-space (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' - Время выборки расчетной модели0 (непрерывное время) (по умолчанию) | время выборки данных (data.Ts) | положительный скалярВремя выборки расчетной модели, указанной как разделенная запятыми пара, состоящая из 'Ts' и либо 0 или положительный скаляр.
Для моделей непрерывного времени укажите 'Ts' как 0.
Для дискретно-временных моделей укажите 'Ts' как время выборки данных в единицах, сохраненных в TimeUnit собственность.
'InputDelay' - Задержки ввода0
(по умолчанию) | скаляр | векторВходная задержка для каждого входного канала, определяемая как разделенная запятыми пара, состоящая из '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 в канонической форме наблюдаемости.
Определения канонических форм см. в разделе Канонические реализации состояния-пространства.
Дополнительные сведения см. в разделе Оценка моделей состояния и пространства с канонической параметризацией. Пример см. в разделе Изменение матриц форм, каналов и моделей возмущений.
'Feedthrough' - Прямой проход от входа к выходу0 (по умолчанию) | 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 | Схема взвешивания, используемая для разложения сингулярного значения по алгоритму N4SID, возвращается как одно из следующих значений:
Этот параметр особенно полезен, когда | ||||||||||||||||||
N4Horizon | Горизонты прогнозирования вперед и назад, используемые алгоритмом N4SID, возвращаемые как вектор строки с тремя элементами - | ||||||||||||||||||
Fit | Количественная оценка оценки, возвращенная как структура. Дополнительные сведения об этих показателях качества см. в разделе Метрики качества функции потери и модели. Структура имеет следующие поля:
| ||||||||||||||||||
Parameters | Оценочные значения параметров модели. | ||||||||||||||||||
OptionsUsed | Набор опций, используемый для оценки. Если пользовательские параметры не были настроены, это набор параметров по умолчанию. Посмотрите | ||||||||||||||||||
RandState | Состояние потока случайных чисел в начале оценки. Пустое, | ||||||||||||||||||
DataUsed | Атрибуты данных, используемых для оценки. Структура со следующими полями:
| ||||||||||||||||||
Termination | Условия завершения итеративного поиска, используемые для минимизации ошибок прогнозирования, возвращены в виде структуры со следующими полями:
Для методов оценки, которые не требуют оптимизации числового поиска, |
Дополнительные сведения об использовании Report, см. Отчет по оценке.
x0 - Исходные состояния, вычисленные во время оценкиИсходные состояния, вычисленные во время оценки, возвращаются как массив, содержащий вектор-столбец, соответствующий каждому эксперименту.
Этот массив также хранится в Parameters поле модели Report собственность.
Пример см. в разделе Оценка начальных состояний как независимых параметров.
ssest инициализирует оценки параметров с использованием либо неидеративного подхода подпространства, либо итеративного подхода оценки рациональной функции. Затем значения параметров уточняются с использованием подхода минимизации ошибок прогнозирования. Дополнительные сведения см. в разделе pem и ssestOptions.
[1] Ljung, L. Идентификация системы: теория для пользователя, второе издание. Река Верхнее Седло, Нью-Джерси: Prentice Hall PTR, 1999.
Поддержка параллельных вычислений доступна для оценки с использованием lsqnonlin метод поиска (требуется 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.