recursiveARX

Создайте Системный объект для онлайн-оценки параметров модели ARX

Синтаксис

obj = recursiveARX
obj = recursiveARX(Orders)
obj = recursiveARX(Orders,A0,B0)
obj = recursiveARX(___,Name,Value)

Описание

Использовать recursiveARX команда для оценки параметра с данными в реальном времени. Если все данные, необходимые для оценки, доступны сразу, и вы оцениваете инвариантную по времени модель, используйте команду offline estimation, arx.

obj = recursiveARX создает Системный object™ для онлайн-оценки параметров структуры модели ARX по умолчанию. Структура модели по умолчанию имеет полиномы порядка 1 и начальные значения полиномиальных коэффициентов eps.

После создания объекта используйте step команда для обновления оценок параметров модели с помощью рекурсивных алгоритмов оценки и данных в реальном времени.

obj = recursiveARX(Orders) задает полиномиальные порядки оцениваемой модели ARX.

obj = recursiveARX(Orders,A0,B0) задает полиномиальные порядки и начальные значения полиномиальных коэффициентов.

obj = recursiveARX(___,Name,Value) задает дополнительные атрибуты структуры модели ARX и алгоритма рекурсивной оценки с помощью одного или нескольких Name,Value аргументы в виде пар.

Описание объекта

recursiveARX создает Системный объект для онлайн-оценки параметров single-input single-output (SISO) или multiple- входа single-output (MISO) ARX моделей с использованием рекурсивного алгоритма оценки.

Системный объект является специализированным MATLAB® объект, специально разработанный для реализации и симуляции динамических систем с входами, которые изменяются с течением времени. Системные объекты используют внутренние состояния для хранения прошлого поведения, которое используется на следующем вычислительном шаге.

После создания системного объекта вы используете команды для обработки данных или получения информации от объекта или о нем. Системные объекты используют минимум две команды для обработки данных - конструктор для создания объекта и step команда для обновления параметров объекта с помощью данных в реальном времени. Это отделение объявления от выполнения позволяет вам создать несколько, постоянных, переиспользуемых объектов, каждый с различными настройками.

Можно использовать следующие команды с онлайновыми Системными объектами оценки в System Identification Toolbox™:

КомандаОписание
step

Обновите оценки параметров модели с помощью рекурсивных алгоритмов оценки и данных в реальном времени.

step переводит объект в заблокированное состояние. В заблокированном состоянии вы не можете изменить какие-либо нетронутые свойства или входные спецификации, такие как порядок модели, тип данных или алгоритм оценки. Во время выполнения можно только изменить настраиваемые свойства.

release

Разблокируйте Системный объект. Используйте эту команду, чтобы включить настройку нетронутых параметров.

reset

Обнулите внутренние состояния заблокированного системного объекта до начальных значений и оставьте объект заблокированным.

clone

Создайте другой Системный объект с теми же значениями свойств объекта.

Не создавать дополнительные объекты с помощью синтаксиса obj2 = obj. Любые изменения, внесенные в свойства нового объекта, созданные таким образом (obj2) также измените свойства исходного объекта (obj).

isLocked

Запросите заблокированное состояние для атрибутов входа и нетронутых свойств Системного объекта.

Используйте recursiveARX команда для создания оперативного системного объекта оценки. Затем оцените параметры модели ARX (A и B) и выход с помощью step команда с входными и выходными данными, u и y.

[A,B,EstimatedOutput] = step(obj,y,u)

Для recursiveARX свойства объекта, см. Свойства.

Примеры

свернуть все

Создайте Системный объект для онлайн-оценки параметров модели SISO ARX.

obj = recursiveARX;

Модель ARX имеет структуру по умолчанию с полиномами порядка 1 и начальными значениями полиномиальных коэффициентов, eps.

Загрузите данные оценки. В этом примере используйте статический набор данных для рисунка.

load iddata1 z1;
output = z1.y;
input = z1.u;

Оцените параметры модели ARX онлайн с помощью step.

for i = 1:numel(input)
[A,B,EstimatedOutput] = step(obj,output(i),input(i));
end

Просмотрите текущие оцененные значения полинома B коэффициенты.

obj.B
ans = 1×2

         0    0.7974

Посмотрите текущую ковариационную оценку параметров.

obj.ParameterCovariance
ans = 2×2

    0.0002    0.0001
    0.0001    0.0034

Просмотрите предполагаемый ток выхода.

EstimatedOutput
EstimatedOutput = -4.7766

Задайте порядки и задержки модели ARX.

na = 1;
nb = 2;
nk = 1;

Создайте системный объект для онлайн-оценки модели SISO ARX с известными начальными полиномиальными коэффициентами.

A0 = [1 0.5];
B0 = [0 1 1];
obj = recursiveARX([na nb nk],A0,B0);

Задайте начальный параметр ковариации.

obj.InitialParameterCovariance = 0.1;

InitialParameterCovariance представляет неопределенность в вашем предположении для начальных параметров. Как правило, значение по умолчанию InitialParameterCovariance (10000) слишком велик относительно значений параметров. Это приводит к тому, что начальные предположения придаются меньшее значение во время оценки. Если у вас есть доверие в начальных предположениях параметра, задайте меньшую ковариацию начального параметра.

Задайте порядки и задержки для модели ARX с двумя входами и одним выходом.

na = 1;
nb = [2 1];
nk = [1 3];

nb и nk заданы как векторы-строки длиной, равной количеству входов, Nu.

Задайте начальные полиномиальные коэффициенты.

A0 = [1 0.5];
B0 = [0 1 1 0; 0 0 0 0.8];

B0 имеет Nu строк и max(nb+nk) столбцы. i-я строка соответствует i-му входу и задана как имеющая nk(i) нули, далее следуют nb(i) начальные значения. Значения после nb(i)+nk(i) игнорируются.

Создайте системный объект для онлайн-оценки модели ARX с известными начальными полиномиальными коэффициентами.

obj = recursiveARX([na nb nk],A0,B0);

Создайте Системный объект, который использует нормированный алгоритм градиента для онлайн-оценки параметра модели ARX.

obj = recursiveARX([1 2 1],'EstimationMethod','NormalizedGradient');

Входные параметры

свернуть все

Моделируйте порядки и задержки модели ARX, заданные как вектор 1 на 3 целых чисел или векторов, [na nb nk].

  • na - Порядок полинома A (q), заданный как неотрицательное целое число.

  • nb - Порядок полинома B (q) + 1, заданный как 1-бай- Nu вектор положительных целых чисел. Nu - количество входов.

    Для моделей MISO существует столько же B (q) полиномов, сколько и количество входов. nb(i) порядок полинома <reservedrangesplaceholder3> th Bi (<reservedrangesplaceholder1>) +1 для входа <reservedrangesplaceholder0> th.

  • nk - Задержка ввода-вывода, заданная как 1-бай- Nu вектор неотрицательных целых чисел. Nu - количество входов.

    Для моделей MISO существует столько же B (q) полиномов, сколько и количество входов. nk(i) - время задержки ввода-вывода, соответствующее i-му входу.

Начальное значение коэффициентов A (q) и B (q) полиномов, заданное как вектор-строка и матрица или вещественные значения, соответственно. Задайте элементы в порядке возрастания степеней q-1.

  • A0 - Начальное значение для коэффициентов полинома A (q), заданное как 1-by- (na+1) вектор-строка с 1 в качестве первого элемента.

  • B0 - Начальное значение для коэффициентов полинома B (q), заданное как Nu -by- max(nb+nk) матрица. Nu - количество входов.

    Для моделей MISO существует столько же B (q) полиномов, сколько и количество входов. i строка B0 соответствует i-му входу и должен содержать nk(i) начальные нули, за которыми следуют nb(i) начальные значения параметров. Записи за пределами nk(i)+nb(i) игнорируются.

na, nb, и nk являются ли Orders модели.

Определение как [], использует значение по умолчанию eps для полиномиальных коэффициентов.

Если начальные значения параметров намного меньше InitialParameterCovariance, этим начальным значениям придается меньшее значение во время оценки. Задайте меньшую ковариацию начального параметра, если у вас есть высокое доверие в начальных значениях параметров. Этот оператор применяется только для оценки бесконечной истории. Конечная историческая оценка не использует InitialParameterCovariance.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Использование Name,Value аргументы для задания свойств, доступных для записи recursiveARX Системный объект во время создания объекта. Для примера, obj = recursiveARX([2 2 1],'EstimationMethod','Gradient') создает Системный объект для оценки модели ARX с помощью 'Gradient' рекурсивный алгоритм оценки.

Свойства

recursiveARX Свойства системного объекта состоят из свойств, доступных только для чтения и записи. Свойства, доступные для записи, являются свойствами, настраиваемыми и нетронутыми. Нетронутые свойства не могут быть изменены, когда объект заблокирован, то есть после того, как вы используете step команда.

Использование Name,Value аргументы для задания свойств, доступных для записи recursiveARX объекты во время создания объекта. После создания объекта используйте запись через точку для изменения настраиваемых свойств.

obj = recursiveARX;
obj.ForgettingFactor = 0.99;

A

Оценочные коэффициенты полинома A (q), возвращенные как вектор-строка действительных значений, заданных в порядке возрастания степеней q-1.

A является свойством только для чтения и первоначально пуст после создания объекта. Он заполняется после того, как вы используете step команда для оценки оперативного параметра.

B

Оценочные коэффициенты полинома B (q), возвращенные как Nu -by- max(nb+nk) матрица вещественных значений. Nu - количество входов.

i строка B соответствует i-му входу и содержит nk(i) начальные нули, за которыми следуют nb(i) расчетные параметры, заданные в порядке возрастания степеней q-1. Игнорируйте нулевые значения за пределами nk(i)+nb(i).

B является свойством только для чтения и первоначально пуст после создания объекта. Он заполняется после того, как вы используете step команда для оценки оперативного параметра.

InitialA

Начальные значения коэффициентов полинома A (q) порядка <reservedrangesplaceholder0>, заданный как вектор-строка длины na+1, с 1 в качестве первого элемента. Задайте коэффициенты в порядке возрастания степеней q-1.

Если начальные догадки намного меньше, чем по умолчанию InitialParameterCovariance10000, начальным предположениям придается меньшее значение во время оценки. В этом случае задайте меньший начальный параметр ковариации.

InitialA является настраиваемым свойством. Вы можете изменить его, когда объект находится в заблокированном состоянии.

По умолчанию: [1 eps]

InitialB

Начальные значения для коэффициентов полинома B (q), заданные как Nu -by- max(nb+nk) матрица. Nu - количество входов.

Для моделей MISO существует столько же B (q) полиномов, сколько и количество входов. i строка B0 соответствует i-му входу и должен содержать nk(i) нули, далее следуют nb(i) начальные значения параметров. Записи за пределами nk(i)+nb(i) игнорируются.

Если начальные догадки намного меньше, чем по умолчанию InitialParameterCovariance10000, начальным предположениям придается меньшее значение во время оценки. В этом случае задайте меньший начальный параметр ковариации.

InitialB является настраиваемым свойством. Вы можете изменить его, когда объект находится в заблокированном состоянии.

По умолчанию: [0 eps]

InitialOutputs

Начальные значения измеренных выходов буфера в конечной исторической оценке, заданные как 0 или как вектор (W + na) -на-1, где W - длина окна и na порядок полинома A (<reservedrangesplaceholder0>), что Вы определяете, строя объект.

The InitialOutputs свойство предоставляет средство управления начальным поведением алгоритма.

Когда InitialOutputs установлено в 0объект заполняет буфер нулями.

Если начальный буфер установлен в 0 или не содержит достаточной информации, вы видите предупреждающее сообщение на начальной фазе вашей оценки. Предупреждение должно проясниться через несколько циклов. Количество циклов, которое требуется для буферизации достаточной информации, зависит от порядка ваших полиномов и ваших входных задержек. Если предупреждение сохраняется, необходимо оценить содержимое сигналов.

Задайте InitialOutputs только когда History является Finite.

InitialOutputs является настраиваемым свойством. Можно изменить InitialOutputs когда объект находится в заблокированном состоянии.

По умолчанию: 0

InitialInputs

Начальные значения входов в конечном историческом окне, заданные как 0 или как матрица (W -1 + max (nb) + max (nk)) -by - nu, где W - длина окна, а nu - количество входов. nb - вектор B (q) полинома порядков, а nk - вектор входа задержек, которые вы задаете при построенииrecursiveARX объект.

The InitialInputs свойство предоставляет средство управления начальным поведением алгоритма.

Когда InitialInputs установлено в 0объект заполняет буфер нулями.

Если начальный буфер установлен в 0 или не содержит достаточной информации, вы видите предупреждающее сообщение на начальной фазе вашей оценки. Предупреждение должно проясниться через несколько циклов. Количество циклов, которое требуется для буферизации достаточной информации, зависит от порядка ваших полиномов и ваших входных задержек. Если предупреждение сохраняется, необходимо оценить содержимое сигналов.

Задайте InitialInputs только когда History является Finite.

InitialInputs является настраиваемым свойством. Можно изменить InitialInputs когда объект находится в заблокированном состоянии.

По умолчанию: 0

ParameterCovariance

Предполагаемая ковариационная P из параметров, возвращенных как N -by N симметричная положительно-определенная матрица. N - количество параметров, которые будут оценены. Программное обеспечение вычисляет P принимая, что невязки (различие между оцененными и измеренными выходами) являются белым шумом, и отклонение этих невязок равно 1.

ParameterCovariance применяется только тогда, когда EstimationMethod является 'ForgettingFactor' или 'KalmanFilter' или когда History является Finite.

Толкование P зависит от ваших настроек для History и EstimationMethod свойства.

  • Если History является Infinite, затем ваш EstimationMethod результаты выбора одного из следующих:

    • 'ForgettingFactor' — (R2 /2) P приблизительно равен ковариационной матрице оцененных параметров, где R2 является истинным отклонением невязок.

    • 'KalmanFilter'<reservedrangesplaceholder1> <reservedrangesplaceholder0> - ковариационная матрица предполагаемых параметров, а R1/ R2 - ковариационная матрица изменений параметров. Здесь R1 является матрицей ковариации, в которой вы задаете ProcessNoiseCovariance.

  • Если History является Finite (оценка скользящего окна) - R2 P - ковариация предполагаемых параметров. Алгоритм скользящего окна не использует эту ковариацию в процессе оценки параметра. Однако алгоритм вычисляет ковариацию для выхода, так что вы можете использовать его для статистической оценки.

ParameterCovariance является свойством только для чтения и первоначально пуст после создания объекта. Он заполняется после того, как вы используете step команда для оценки оперативного параметра.

InitialParameterCovariance

Ковариация начальных оценок параметров, заданная как одно из следующего:

  • Действительная положительная скалярная величина, α - Ковариационная матрица - N -by N диагональная матрица с α в качестве диагональных элементов. N - количество параметров, которые будут оценены.

  • Вектор действительных положительных скаляров, [α 1,..., α N] - ковариационная матрица является N -by N диагональной матрицей с 1,..., α N] в качестве диагональных элементов.

  • N -by N симметричная положительно-определенная матрица.

InitialParameterCovariance представляет неопределенность в начальных оценках параметров. Для больших значений InitialParameterCovariance, меньшее значение придается начальным значениям параметров и больше - измеренным данным во время начала оценки с помощью step.

Используйте только тогда, когда EstimationMethod является 'ForgettingFactor' или 'KalmanFilter'.

InitialParameterCovariance является настраиваемым свойством. Вы можете изменить его, когда объект находится в заблокированном состоянии.

По умолчанию: 10000

EstimationMethod

Алгоритм рекурсивной оценки, используемый для онлайн-оценки параметров модели, задается как одно из следующих значений:

  • 'ForgettingFactor' - Алгоритм, используемый для оценки параметра

  • 'KalmanFilter' - Алгоритм, используемый для оценки параметра

  • 'NormalizedGradient' - Алгоритм, используемый для оценки параметра

  • 'Gradient' - Ненормализованный алгоритм градиента, используемый для оценки параметра

Алгоритмы забывающего фактора и фильтра Калмана более интенсивны в вычислительном отношении, чем градиентные и ненормализованные градиентные методы. Однако они имеют лучшие свойства сходимости. Для получения информации об этих алгоритмах см. «Рекурсивные алгоритмы для оценки Параметра в режиме онлайн».

Все эти методы используют бесконечную историю данных и доступны только при History является 'Infinite'.

EstimationMethod является свойством nontunable. Вы не можете изменить его во время выполнения, то есть после того, как объект заблокирован с помощью step команда.

По умолчанию: Forgetting Factor

ForgettingFactor

Коэффициент забывания, λ, релевантный для оценки параметра, заданный как скаляр в области значений (0,1].

Предположим, что система остается приблизительно постоянной на T0 выборках. Можно выбрать λ такие, что:

T0=11λ

  • Установка λ = 1 соответствует «no formetting» и оценке постоянных коэффициентов.

  • Установка λ < 1 подразумевает, что прошлые измерения менее значимы для оценки параметра и могут быть «забыты». Установите λ < 1, чтобы оценить изменяющиеся во времени коэффициенты.

Типичные варианты λ находятся в области значений [0.98 0.995].

Используйте только тогда, когда EstimationMethod является 'ForgettingFactor'.

ForgettingFactor является настраиваемым свойством. Вы можете изменить его, когда объект находится в заблокированном состоянии.

По умолчанию: 1

EnableAdapation

Включите или отключите оценку параметра, заданную как одно из следующего:

  • true или 1- The step команда оценивает значения параметров для того временного шага и обновляет значения параметров.

  • false или 0 - The step команда не обновляет параметры для этого временного шага и вместо этого выводит последнее оцененное значение. Можно использовать эту опцию, когда система входит в режим, где значения параметров не изменяются со временем.

    Примечание

    Если вы задаете EnableAdapation на false, вы все еще должны выполнить step команда. Не пропускать step сохранить значения параметров постоянными, потому что оценка параметров зависит от тока и прошлых измерений ввода-вывода. step обеспечивает сохранение прошедших вводов-выводов данных, даже если они не обновляют параметры.

EnableAdapation является настраиваемым свойством. Вы можете изменить его, когда объект находится в заблокированном состоянии.

По умолчанию: true

DataType

Точность параметров с плавающей точкой, заданная как одно из следующих значений:

  • 'double' - Плавающая точка двойной точности

  • 'single' - Одинарная точность с плавающей точкой

Настройка DataType на 'single' сохраняет память, но приводит к потере точности. Задайте DataType исходя из точности, требуемой целевым процессором, на котором будет развернут сгенерированный код.

DataType является свойством nontunable. Он может быть установлен только во время конструкции объекта с помощью Name,Value аргументы и не могут быть изменены после.

По умолчанию: 'double'

ProcessNoiseCovariance

Ковариационная матрица изменений параметров, заданная как одно из следующего:

  • Действительный неотрицательный скаляр, α - Ковариационная матрица - N -by N диагональная матрица с α в качестве диагональных элементов.

  • Вектор реальных неотрицательных скаляров, [<reservedrangesplaceholder7> 1..., <reservedrangesplaceholder6> <reservedrangesplaceholder5>] - Ковариационная матрица N N диагональной матрицей, с [<reservedrangesplaceholder2> 1..., <reservedrangesplaceholder1> <reservedrangesplaceholder0>] как диагональные элементы.

  • N -by N симметричная положительная полуопределенная матрица.

N - количество параметров, которые будут оценены.

ProcessNoiseCovariance применяется, когда EstimationMethod является 'KalmanFilter'.

Алгоритм фильтра Калмана обрабатывает параметры как состояния динамической системы и оценивает эти параметры с помощью фильтра Калмана. ProcessNoiseCovariance - ковариация шума процесса, действующая на эти параметры. Нулевые значения в шумовой ковариационной матрице соответствуют оценке постоянных коэффициентов. Значения, большие 0, соответствуют изменяющимся во времени параметрам. Используйте большие значения для быстрого изменения параметров. Однако большие значения приводят к более шумным оценкам параметра.

ProcessNoiseCovariance является настраиваемым свойством. Вы можете изменить его, когда объект находится в заблокированном состоянии.

По умолчанию: 0.1

AdaptationGain

Коэффициент усиления адаптации, γ, используемый в алгоритмах рекурсивной оценки градиента, задается как положительная скалярная величина.

AdaptationGain применяется, когда EstimationMethod является 'Gradient' или 'NormalizedGradient'.

Задайте большое значение для AdaptationGain когда ваши измерения имеют высокое отношение сигнал/шум.

AdaptationGain является настраиваемым свойством. Вы можете изменить его, когда объект находится в заблокированном состоянии.

По умолчанию: 1

NormalizationBias

Смещение при масштабировании коэффициента усиления адаптации, используемое в 'NormalizedGradient' метод, заданный как неотрицательный скаляр.

NormalizationBias применяется, когда EstimationMethod является 'NormalizedGradient'.

Нормированный алгоритм градиента делит коэффициент усиления адаптации на каждом шаге на квадрат двух норм вектора градиента. Если градиент близок к нулю, это может вызвать переходы в оценочных параметрах. NormalizationBias - термин, введенный в знаменателе для предотвращения этих переходов. Увеличение NormalizationBias если вы наблюдаете переходы в предполагаемых параметрах.

NormalizationBias является настраиваемым свойством. Вы можете изменить его, когда объект находится в заблокированном состоянии.

По умолчанию: eps

History

Тип истории данных, определяющий, какой тип рекурсивного алгоритма вы используете, задается как:

  • 'Infinite' - Используйте алгоритм, который направлен на минимизацию ошибки между наблюдаемым и предсказанным выходами для всех временных шагов от начала симуляции.

  • 'Finite' - Используйте алгоритм, который направлен на минимизацию ошибки между наблюдаемым и предсказанным выходами для конечного числа прошлых временных шагов.

Алгоритмы с бесконечной историей стремятся создать оценки параметров, которые объясняют все данные с начала симуляции. Эти алгоритмы все еще используют фиксированный объем памяти, который не растет с течением времени. Объект предоставляет несколько алгоритмов 'Infinite' History тип. Установка этой опции активирует EstimationMethod свойство, с которым вы задаете алгоритм.

Алгоритмы с конечной историей направлены на создание оценок параметров, которые объясняют только конечное число прошлых выборок данных. Этот метод также называется sliding-window оценкой. Объект предоставляет один алгоритм 'Finite' тип. Установка этой опции активирует WindowLength свойство, которое масштабирует окно.

Для получения дополнительной информации о рекурсивных методах оценки см. «Рекурсивные алгоритмы для онлайн-оценки параметра».

History является свойством nontunable. Он может быть установлен только во время конструкции объекта с помощью Name,Value аргументы и не могут быть изменены после.

По умолчанию: 'Infinite'

WindowLength

Размер окна, определяющий количество временных выборок, используемых для метода оценки скользящего окна, заданный как положительное целое число. Задайте WindowLength только когда History является Finite.

Выберите размер окна, которое балансирует эффективность оценки с вычислительной нагрузкой и нагрузкой на память. Размерные коэффициенты включают количество и временное отклонение параметров в вашей модели. Всегда задайте Window Length в выборках, даже если вы используете входную обработку на основе фрейма.

WindowLength должно быть больше или равно количеству предполагаемых параметров.

Подходящая длина окна не зависит от того, используете ли вы обработку входа на основе сэмплирования или фрейма (см InputProcessing). Однако при использовании обработки на основе фрейма длина окна должна быть больше или равной количеству выборок (временных шагов), содержащихся в системе координат.

WindowLength является свойством nontunable. Он может быть установлен только во время конструкции объекта с помощью Name,Value аргументы и не могут быть изменены после.

По умолчанию: 200

InputProcessing

Опция для обработки входа на основе сэмплирования или фрейма, заданная как вектор символов или строка.

  • Sample-based обработка действует на сигналы, передаваемые потоком по одной выборке за раз.

  • Frame-based обработка действует на сигналы, содержащие выборки из нескольких временных шагов. Многие интерфейсы датчиков машины упаковывают несколько выборок и передают эти выборки вместе в системах координат. Frame-based обработка позволяет вводить эти данные непосредственно без необходимости их первой распаковки.

Ваши InputProcessing спецификация влияет на размерности для сигналов входа и выхода при использовании step команда:

[theta,EstimatedOutput] = step(obj,y,u)

  • Sample-based

    • y и EstimatedOutput являются скалярами.

    • u является вектором с Nu 1 байт, где Nu - количество входов.

    • Frame-based с M выборками на систему координат

      • y и EstimatedOutput M векторы -by-1.

      • u является M -by- Nu матрица.

InputProcessing является свойством nontunable. Он может быть установлен только во время конструкции объекта с помощью Name,Value аргументы и не могут быть изменены после.

По умолчанию: 'Sample-based'

Выходные аргументы

свернуть все

Системный объект для онлайн-оценки параметров модели ARX, возвращенный как recursiveARX Системный объект. Этот объект создается с использованием заданных порядков и свойств модели. Использовать step команда для оценки коэффициентов полиномов модели ARX. Затем можно получить доступ к предполагаемым коэффициентам и ковариации параметров с помощью записи через точку. Для примера введите obj.A чтобы просмотреть оцененные A полиномиальные коэффициенты.

Подробнее о

свернуть все

Структура модели ARX

Структура модели ARX:

y(t)+a1y(t1)+...+anay(tna)=b1u(tnk)+...+bnbu(tnbnk+1)+e(t)

Параметры na и nb являются порядками модели ARX и nk - задержка.

  • y(t)- Выход в момент времени t.

  • na - Количество полюсов.

  • nb - Количество нулей плюс 1.

  • nk - Количество входных выборок, которые происходят до того, как вход влияет на выход, также называемое потерей времени в системе.

  • y(t1)y(tna) - Предыдущие выходы, от которых зависит выходной ток.

  • u(tnk)u(tnknb+1) - Предыдущие и отложенные входы, от которых зависит выходной ток.

  • e(t) - Значение нарушения порядка белого шума.

Более компактный способ написания разностного уравнения -

A(q)y(t)=B(q)u(tnk)+e(t)

q - оператор задержки. В частности,

A(q)=1+a1q1++anaqna

B(q)=b1+b2q1++bnbqnb+1

Совет

  • Начиная с R2016b, вместо использования step команду для обновления оценок параметров модели можно вызвать системный объект с входными параметрами, как если бы это была функция. Для примера, [A,B,EstimatedOutput] = step(obj,y,u) и [A,B,EstimatedOutput] = obj(y,u) выполнять эквивалентные операции.

Расширенные возможности

.
Введенный в R2015b
Для просмотра документации необходимо авторизоваться на сайте