Линейное ОДУ (модель серого поля) с идентифицируемыми параметрами
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® в нескольких значениях параметров или рабочих точках, программное обеспечение заполняет Значение по умолчанию: |