Оцените модель в пространстве состояний с помощью данных частотного диапазона или временного интервала
оценивает модель в пространстве состояний непрерывного времени 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.1714
LastImprovement: 0
Отчет включает в себя информацию о количестве итераций и причины, которой оценка прекратила выполнять итерации.
Загрузите данные ввода - вывода z1, который хранится в iddata объект. Это - те же данные, используемые, чтобы оценить модель четвертого порядка в Модели в пространстве состояний.
load iddata1 z1
Определите оптимальный порядок модели путем определения аргумента nx как диапазон от 1:10.
nx = 1:10; sys = ssest(z1,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.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 — Порядок предполагаемой модели (значение по умолчанию) | положительный целочисленный скаляр | положительный целочисленный вектор | 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 не пространство состояний (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 в канонической форме наблюдаемости.
Для определений канонических форм смотрите Каноническую Реализацию Пространства состояний.
Для получения дополнительной информации смотрите Оценочные Модели в пространстве состояний с Канонической Параметризацией. Для примера смотрите, Изменяют Форму, Сквозное соединение и Матрицы Возмущения.
'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 свойство.
Для примера смотрите Оценочные начальные состояния как Независимые Параметры.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.