Линейная ОДУ (серая модель) с идентифицируемыми параметрами
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, принимает следующий вид за непрерывное время:
(t) + Du (t) + e (t)
За дискретное время модель state-space принимает вид:
Cx [k] + Du [k] + e [k]
Для 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,...) Выходные данные функции описывают модель в следующей линейно-пространственной форме инноваций: Cx (t) + Du (t) + e (t) В дискретное время xn (t) = x (t + Ts) и в непрерывное ) =x˙ (t).
Матрица возмущений 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 свойства объекта включают в себя:
|
Значения матриц state-space.
Ценности |
|
Значение матрицы возмущений состояния, К
Создание набора опций оценки для |
|
Имена состояний, указанные как одно из следующих:
По умолчанию: |
|
Государственные единицы, указанные как одно из следующих:
Использовать По умолчанию: |
|
Информация об оценочных параметрах
|
|
Дисперсия (ковариационная матрица) инноваций модели, например, Идентифицированная модель включает в себя компонент белого гауссова шума 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]
Дополнительные сведения об этом свойстве и его использовании см. в разделе «Аргументы вывода» на странице ссылки на соответствующую команду оценки и в разделе «Отчет об оценке». |
|
Входная задержка для каждого входного канала, заданная как скалярное значение или числовой вектор. Для систем непрерывного времени укажите задержки ввода в единице времени, сохраненной в Для системы с Также можно задать По умолчанию: 0 |
|
Задержки на выходе. Для идентифицированных систем, например |
|
Время выборки. Для моделей непрерывного времени Изменение этого свойства не дискретизирует и не выполняет повторную выборку модели. Для |
|
Единицы измерения для переменной времени, времени выборки
Изменение этого свойства не влияет на другие свойства и, следовательно, изменяет общее поведение системы. Использовать По умолчанию: |
|
Имена входных каналов, указанные как одно из следующих:
Можно также использовать автоматическое векторное расширение для назначения входных имен для моделей с несколькими входами. Например, если sys.InputName = 'controls'; Имена вводимых данных автоматически расширяются до При оценке модели с использованием Можно использовать сокращенную нотацию Имена входных каналов имеют несколько применений, в том числе:
По умолчанию: |
|
Блоки входных каналов, указанные как одно из следующих:
Использовать По умолчанию: |
|
Группы входных каналов. sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5]; создает входные группы с именем sys(:,'controls') По умолчанию: структура без полей |
|
Имена выходных каналов, указанные как одно из следующих:
Можно также использовать автоматическое векторное расширение для назначения выходных имен для моделей с несколькими выходами. Например, если sys.OutputName = 'measurements'; Имена вывода автоматически расширяются до При оценке модели с использованием Можно использовать сокращенную нотацию Имена выходных каналов имеют несколько применений, в том числе:
По умолчанию: |
|
Единицы выходного канала, указанные как одно из следующих:
Использовать По умолчанию: |
|
Группы выходных каналов. sys.OutputGroup.temperature = [1]; sys.InputGroup.measurement = [3 5]; создает выходные группы с именем sys('measurement',:)По умолчанию: структура без полей |
|
Имя системы, указанное как символьный вектор. Например, По умолчанию: |
|
Любой текст, который требуется связать с системой, хранится в виде строки или массива ячеек символьных векторов. Свойство хранит данные любого типа. Например, если 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 ® в нескольких значениях параметров или рабочих точках, программа заполняет По умолчанию: |