Линейное ОДУ (модель серого ящика) идентифицируемыми параметрами
sys = idgrey(odefun,parameters,fcn_type)
sys = idgrey(odefun,parameters,fcn_type,optional_args)
sys = idgrey(odefun,parameters,fcn_type,optional_args,Ts)
sys = idgrey(odefun,parameters,fcn_type,optional_args,Ts,Name,Value)
создает линейную модель серого ящика идентифицируемыми параметрами, sys
= idgrey(odefun
,parameters
,fcn_type
)sys
odefun
задает пользовательскую функцию, которая связывает параметры модели, parameters
, к его представлению пространства состояний.
создает линейную модель серого ящика идентифицируемыми параметрами с помощью дополнительных аргументов, требуемых sys
= idgrey(odefun
,parameters
,fcn_type
,optional_args
)odefun
.
создает линейную модель серого ящика идентифицируемыми параметрами с заданным шагом расчета, sys
= idgrey(odefun
,parameters
,fcn_type
,optional_args
,Ts
)Ts
.
создает линейную модель серого ящика идентифицируемыми параметрами с дополнительными опциями, заданными одним или несколькими sys
= idgrey(odefun
,parameters
,fcn_type
,optional_args
,Ts
,Name,Value
)Name,Value
парные аргументы.
idgrey
модель представляет систему как модель в пространстве состояний непрерывного времени или дискретного времени с идентифицируемыми (допускающими оценку) коэффициентами.
Модель в пространстве состояний системы с входным вектором, u, выходным вектором, y, и воздействием, e, принимает следующую форму в непрерывное время:
В дискретное время модель в пространстве состояний принимает форму:
Для idgrey
модели, матрицы пространства состояний A, B, C и D выражаются как функция пользовательских параметров с помощью функции MATLAB®. Вы получаете доступ к оцененным параметрам с помощью sys.Structures.Parameters
, где sys
idgrey
модель.
Используйте idgrey
модель, когда вы знаете систему уравнений, управляющую системной динамикой явным образом. Необходимо смочь выразить эти движущие силы в форме обыкновенных дифференциальных уравнений или разностных уравнений. Вы задаете комплексные отношения и ограничения среди параметров, которые не могут быть сделаны через структурированные модели в пространстве состояний (idss
).
Можно создать idgrey
модель с помощью idgrey
команда. Для этого запишите функцию MATLAB, которая возвращает A, B, C и матрицы D для данных значений допускающих оценку параметров и шага расчета. Функция MATLAB может также возвратить матрицу K и принять дополнительные входные параметры. Возвращенные матрицы могут представлять модель непрерывного времени или дискретного времени, как обозначено шагом расчета.
Используйте функции оценки pem
или greyest
получить ориентировочные стоимости для неизвестных параметров idgrey
модель.
Можно преобразовать idgrey
модель в другие динамические системы, такие как idpoly
, idss
tf
, ss
и т.д. Вы не можете преобразовать динамическую систему в idgrey
модель.
|
Функция MATLAB, которая связывает параметры модели с ее представлением пространства состояний.
Если функция не находится на пути MATLAB, то задайте полное имя файла, включая путь. Синтаксис для [A,B,C,D] = odefun(par1,par2,...,parN,Ts,optional_arg1,optional_arg2,...) Функциональные выходные параметры описывают модель в следующей линейной инновационной форме пространства состояний: В дискретное время xn (t) =x (t +Ts) и в непрерывное время, .
Матрица воздействия, K, и значения начального состояния, x0, не параметризована. Вместо этого эти значения определяются отдельно, с помощью Хороший выбор для достижения лучших результатов симуляции состоит в том, чтобы установить (Необязательно) параметризация воздействия: [A,B,C,D,K] = odefun(par1,par2,...,parN,Ts,optional_arg1,optional_arg2,...) Если (Необязательно) Параметризация Значений начального состояния: Чтобы сделать начальные состояния модели, X0, зависящий от параметров модели, использует следующий синтаксис в [A,B,C,D,K,X0] = odefun(par1,par2,...,parN,Ts,optional_arg1,optional_arg2,...) Если |
|
Начальные значения параметров требуются Задайте Можно также задать названия параметра с помощью N-by-2 массив ячеек, где N является количеством параметров. Первый столбец задает имена, и второй столбец задает значения параметров. Например: parameters = {'mass',par1;'stiffness',par2;'damping',par3} |
|
Указывает, параметрируется ли модель в непрерывное время, дискретное время или обоих.
|
|
Дополнительные входные параметры требуются Задайте Если |
|
Шаг расчета модели. Если
|
|
Задайте дополнительные разделенные запятой пары Используйте |
idgrey
свойства объектов включают:
|
Значения матриц пространства состояний.
Значения |
|
Значение матрицы воздействия состояния, K
Создать набор опции оценки для |
|
Имена состояния в виде одного из следующего:
Значение по умолчанию: |
|
Модули состояния в виде одного из следующего:
Используйте Значение по умолчанию: |
|
Информация о допускающих оценку параметрах
|
|
Отклонение (ковариационная матрица) инноваций модели, e. Идентифицированная модель включает белый, Гауссов шумовой компонент, e (t). Для моделей SISO, |
|
Сводный отчет, который содержит информацию об опциях оценки и результатах, когда модель серого ящика получена с помощью
Содержимое odefun = 'motorDynamics'; m = idgrey(odefun,1,'cd',0.25,0); m.Report.OptionsUsed ans = [] Если вы получаете модель серого ящика использование команд оценки, полей load(fullfile(matlabroot,'toolbox','ident','iddemos','data','dcmotordata')); data = iddata(y,u,0.1,'Name','DC-motor'); odefun = 'motorDynamics'; init_sys = idgrey('motorDynamics',1,'cd',0.25,0); m = greyest(data,init_sys); m.Report.OptionsUsed InitialState: 'auto' DisturbanceModel: 'auto' Focus: 'prediction' EstimateCovariance: 1 Display: 'off' InputOffset: [] OutputOffset: [] Regularization: [1x1 struct] OutputWeight: [] SearchMethod: 'auto' SearchOptions: [1x1 idoptions.search.identsolver] Advanced: [1x1 struct]
Для получения дополнительной информации об этом свойстве и как использовать его, смотрите раздел Output Arguments соответствующей страницы с описанием команды оценки и Отчета Оценки. |
|
Введите задержку каждого входного канала в виде скалярного значения или числового вектора. Для систем непрерывного времени задайте входные задержки единицы измерения времени, сохраненной в Для системы с Можно также установить Значение по умолчанию: 0 |
|
Выведите задержки. Для идентифицированных систем, как |
|
'SampleTime' . Для моделей непрерывного времени, Изменение этого свойства не дискретизирует или передискретизирует модель. Для |
|
Модули для переменной времени, шаг расчета
Изменение этого свойства не оказывает влияния на другие свойства, и поэтому изменяет полное поведение системы. Используйте Значение по умолчанию: |
|
Введите названия канала в виде одного из следующего:
В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить входные имена для мультивходных моделей. Например, если sys.InputName = 'controls'; Входные имена автоматически расширяются до Когда вы оцениваете модель с помощью Можно использовать краткое обозначение Входные названия канала имеют несколько использования, включая:
Значение по умолчанию: |
|
Введите модули канала в виде одного из следующего:
Используйте Значение по умолчанию: |
|
Введите группы канала. sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5]; создает входные группы под названием sys(:,'controls') Значение по умолчанию: Struct без полей |
|
Выведите названия канала в виде одного из следующего:
В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить выходные имена для мультивыходных моделей. Например, если sys.OutputName = 'measurements'; Выходные имена автоматически расширяются до Когда вы оцениваете модель с помощью Можно использовать краткое обозначение Выходные названия канала имеют несколько использования, включая:
Значение по умолчанию: |
|
Выведите модули канала в виде одного из следующего:
Используйте Значение по умолчанию: |
|
Выведите группы канала. sys.OutputGroup.temperature = [1]; sys.InputGroup.measurement = [3 5]; создает выходные группы под названием sys('measurement',:) Значение по умолчанию: Struct без полей |
|
Имя системы в виде вектора символов. Например, Значение по умолчанию: |
|
Любой текст, который вы хотите сопоставить с системой, сохраненной как строка или массив ячеек из символьных векторов. Свойство хранит, какой бы ни тип данных вы обеспечиваете. Например, если sys1.Notes = "sys1 has a string."; sys2.Notes = 'sys2 has a character vector.'; sys1.Notes sys2.Notes ans = "sys1 has a string." ans = 'sys2 has a character vector.' Значение по умолчанию: |
|
Любой тип данных вы хотите сопоставить с системой в виде любого типа данных MATLAB. Значение по умолчанию: |
|
Выборка сетки для массивов моделей в виде структуры данных. Для массивов идентифицированных линейных моделей (IDLTI), которые выведены путем выборки одной или нескольких независимых переменных, это дорожки свойства значения переменных, сопоставленные с каждой моделью. Эта информация появляется, когда вы отображаете или строите массив моделей. Используйте эту информацию, чтобы проследить результаты до независимых переменных. Установите имена полей структуры данных к именам переменных выборки. Установите значения полей к произведенным значениям переменных, сопоставленным с каждой моделью в массиве. Все переменные выборки должны быть числовыми и скаляр, оцененный, и все массивы произведенных значений должны совпадать с размерностями массива моделей. Например, если вы собираете данные в различных рабочих точках системы, можно идентифицировать модель для каждой рабочей точки отдельно и затем сложить результаты вместе в массив единой системы. Можно пометить отдельные модели в массиве с информацией относительно рабочей точки: nominal_engine_rpm = [1000 5000 10000];
sys.SamplingGrid = struct('rpm', nominal_engine_rpm) где Для массивов моделей, сгенерированных путем линеаризации модели Simulink® в нескольких значениях параметров или рабочих точках, программное обеспечение заполняет Значение по умолчанию: |