recursiveARX

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

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

Синтаксис

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

Описание

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

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

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

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

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

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

recursiveARX создает Системный объект для онлайновой оценки параметра одно входа одно вывода (SISO), или несколько - вводят одно вывод (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 заданы как векторы - строки из длины, равной количеству входных параметров, Ню.

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

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

B0 имеет строки Ню и столбцы max(nb+nk). i-th строка соответствует входу i-th и задана как наличие нулей 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].

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

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

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

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

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

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

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

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

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

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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 th строка B соответствует i th вход и содержит начальные нули nk(i), сопровождаемый nb(i) оценил параметры, заданные в порядке возрастающих степеней q-1. Проигнорируйте нулевые записи вне nk(i)+nb(i).

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

InitialA

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

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

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

Значение по умолчанию: [1 eps]

InitialB

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

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

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

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

Значение по умолчанию: [0 eps]

InitialOutputs

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

Свойство 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.

Свойство 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'P (R2 /2) приблизительно равен ковариационной матрице предполагаемых параметров, где R2 является истинным отклонением невязок.

    • 'KalmanFilter'R2 P является ковариационной матрицей предполагаемых параметров, и 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' — Алгоритм используется для оценки параметра

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

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

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

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

Значение по умолчанию: Forgetting Factor

ForgettingFactor

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

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

T0=11λ

  • Установка λ = 1 не соответствует “никакому упущению” и оценке постоянных коэффициентов.

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

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

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

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

Значение по умолчанию: 1

EnableAdapation

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

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

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

    Примечание

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

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

Значение по умолчанию: true

DataType

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

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

  • единственный Плавающая точка с одинарной точностью

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

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

Значение по умолчанию: 'double'

ProcessNoiseCovariance

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

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

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

  • 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'.

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

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

Значение по умолчанию: eps

History

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

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

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

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

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

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

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

Значение по умолчанию: 'Infinite'

WindowLength

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

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

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

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

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

Значение по умолчанию: 200

InputProcessing

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

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

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

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

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

  • Sample-based

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

    • u является 1 Nu вектором, где Nu является количеством входных параметров.

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

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

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

InputProcessing является ненастраиваемым свойством. Это может быть установлено только во время объектной конструкции с помощью аргументов 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

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