Линейное ОДУ (модель серого ящика) идентифицируемыми параметрами
idgrey модель представляет линейную систему как модель в пространстве состояний непрерывного времени или дискретного времени с идентифицируемыми (допускающими оценку) коэффициентами. Используйте idgrey модель, когда это необходимо, чтобы получить комплексные отношения, ограничения и предварительные знания, которые структурировали пространство состояний (idss) модели не могут инкапсулировать. Создать idgrey модель, необходимо знать явным образом систему уравнений (обыкновенные дифференциальные уравнения или разностные уравнения), которые управляют системной динамикой.
idgrey модель позволяет вам включать условия, такие как следующее:
Ограничения параметра, что idss/ssest среда не может обработать, такие как линейные или ограничения равенства на параметры или предварительные знания об отклонении состояний, входных параметров, выходных параметров или любой комбинации этих трех, которые вы хотите включать как известную информацию
Линейная модель произвольной формы, такой как передаточная функция или полиномиальная модель, с ограничениями параметра, такими как известное усиление DC, ограничивает на местоположениях полюса, разделяемом знаменателе через несколько входных параметров или ненулевых задержках ввода/вывода моделей MIMO
Дифференциальные или разностные уравнения с известными и неизвестными коэффициентами
В этих и подобных случаях можно создать ОДУ (обыкновенное дифференциальное уравнение или разностное уравнение) функция в MATLAB® это реализует реализацию пространства состояний линейной модели, и это задает ограничения и предварительные знания.
Простой пример создания ОДУ для idgrey использует следующие уравнения, чтобы описать моторную динамику.
В этих уравнениях τ является одним допускающим оценку параметром, и G представляет известное статическое усиление.
Эти уравнения соответствуют форме пространства состояний:
Для этого случая и A и матрицы B содержат допускающий оценку параметр τ, и B также включает известное усиление G. Можно записать функцию MATLAB, которая принимает τ и G как входные параметры и возвращает матрицы пространства состояний A, B и C как его выходные аргументы. Например, можно закодировать функциональный motorFcn можно следующим образом.
function [A,B,C] = motorFcn(tau,G) % ODE function for computing state-space matrices as functions of parameters A = [0 1; 0 -1/tau]; B = [0; G/tau]; C = eye(2);
После создания функции, такой как motorFcn, создайте idgrey модель путем определения этой функции как значения ее odefun входной параметр, когда следующая команда показывает.
sys = idgrey(@motorFcn,tau0,'c',G)tau0 исходное предположение для параметра τ и G задает фиксированную постоянную. Кроме того, 'c' указывает к idgrey тот odefun возвращает матрицы, соответствующие системе непрерывного времени. Для получения дополнительной информации смотрите function_type.
Для исполняемого примера, который создает idgrey модель от этих моторных уравнений динамики, смотрите, Создают Модель Серого ящика Допускающими оценку Параметрами.
В более общем плане следующие уравнения описывают формы пространства состояний для систем непрерывного времени и дискретного времени.
Модель в пространстве состояний системы с входным вектором u, выходной вектор y и воздействие e, принимает следующую форму в непрерывное время:
В дискретное время модель в пространстве состояний принимает форму:
Ваша функция ОДУ MATLAB включает пользовательские параметры в A, B, C и матрицы D, которые возвращает функция. Связанный idgrey модели - ссылки эта функция и функции оценки greyest и pem используйте эти матричные определения при оценке параметров.
Для получения дополнительной информации о создании ОДУ функционируют для idgrey, смотрите Оценку Линейные Модели Серого ящика.
Создайте idgrey модель с помощью idgrey команда. Для этого запишите функцию MATLAB, которая возвращает A, B, C и матрицы D для данных значений допускающих оценку параметров и шага расчета. Можно передать дополнительные входные параметры, такие как постоянная времени или усиление, которые не являются параметрами, но что ОДУ использует в выражениях для выходных аргументов.
В дополнение к A, B, C и матрицам D, ваша функция MATLAB может возвратить матрицу K, если вы хотите, чтобы значения K были функциями ваших входных параметров. Ваша функция может также возвратить вектор начального состояния x0. Однако альтернативный и рекомендуемый подход для параметризации x0 должен использовать InitialState опция оценки greyestOptions.
Обратите внимание на то, что можно записать функцию ОДУ, чтобы представлять или непрерывную динамику времени или динамику дискретного времени независимо от природы idgrey сама модель. Например, можно задать дискретное время idgrey модель (sys.Ts>0) это использует параметризацию непрерывного времени функции ОДУ. Точно так же можно задать параметризацию дискретного времени функции ОДУ и использовать ее с непрерывным временем idgrey модель (sys.Ts=0). idgrey входной параметр fcn_type сообщает idgrey модели, какая параметризация ОДУ функционирует использование. Для получения дополнительной информации смотрите Оценку Линейные Модели Серого ящика.
Используйте функции оценки pem или greyest получить ориентировочные стоимости для неизвестных параметров idgrey модель. В отличие от другой оценки функционирует такой как ssest, который может создать новый объект модели, greyest может оценить параметры только для idgrey модель, которая уже существует и задана как входной параметр. Можно получить доступ к оцененным параметрам с помощью sys.Structures.Parameters, где sys idgrey модель.
Можно преобразовать idgrey модель в другие динамические системы, такой как idpoly, idss, tf, или ss. Вы не можете преобразовать динамическую систему в idgrey модель.
создает линейную модель sys = idgrey(odefun,parameters,fcn_type)sys серого ящика идентифицируемыми параметрами. odefun задает пользовательскую функцию, которая связывает параметры модели parameters к их представлению пространства состояний. fcn_type задает, параметрируется ли модель в непрерывное время, дискретное время или обоих.
задает дополнительные аргументы sys = idgrey(odefun,parameters,fcn_type,extra_args)extra_args тот odefun требует.
задает шаг расчета sys = idgrey(odefun,parameters,fcn_type,extra_args,Ts)Ts.
включает дополнительные опции, заданные одними или несколькими аргументами name-value.sys = idgrey(odefun,parameters,fcn_type,extra_args,Ts,Name,Value)
Для получения информации о функциях, которые применимы к idgrey возразите, см. Линейные Модели Серого ящика.