getDelayInfo

Получите информацию о задержке ввода/вывода для idnlarx структура модели

Синтаксис

DELAYS = getDelayInfo(MODEL)
DELAYS = getDelayInfo(MODEL,TYPE)

Описание

DELAYS = getDelayInfo(MODEL) получает максимальную задержку в каждой входной и выходной переменной idnlarx модель.

DELAYS = getDelayInfo(MODEL,TYPE) позволяет вам выбрать между получением максимальных задержек между всеми входными и выходными переменными или максимальных задержек для каждой выходной переменной индивидуально. Когда для каждого переменного выхода получаются задержки по отдельности, возвращается матрица, где каждая строка является вектором, содержащим ny + nu максимальных задержек для каждого переменного выхода, и:

  • ny - количество выходов MODEL.

  • nu - количество входов MODEL.

Информация о задержке полезна для определения количества состояний в модели. Для нелинейных моделей ARX состояния связаны с набором задержанных входных и выходных переменных, которые определяют структуру модели (регрессоры). Для примера, если вход или выход переменная p имеет максимальную задержку D выборок, то она вносит вклад D элементы в вектор состояний:

p (t -1), p (t -2),... p (t - D)

Количество состояний нелинейной модели ARX равняется сумме максимальных задержек каждой входной и выходной переменной. Для получения дополнительной информации об определении состояний для idnlarx модели, см. Определение состояний idnlarx

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

getDelayInfo принимает следующие аргументы:

  • MODEL: idnlarx модель.

  • TYPE: (необязательно) Определяет, нужно ли получать задержки в канале 'channelwise' или 'all' следующим образом:

    • 'all': Значение по умолчанию. DELAYS содержит максимальные задержки по каждому выходу (вектор из ny + nu записей, где [ny, nu] = size(MODEL)).

    • 'channelwise': DELAYS содержит значения задержки, разделенные для каждого выхода (ny -by- (ny + nu) матрица).

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

  • DELAYS: Содержит информацию о задержке в векторе длины ny + nu, расположенном с выходом каналами, предшествующими каналам входа, т.е. [y1, y2,.., u1, u2,..].

Примеры

свернуть все

Создайте нелинейную модель ARX с двумя выходами и тремя входами.

M = idnlarx([2 0 2 2 1 1 0 0; 1 0 1 5 0 1 1 0],'linear');

Вычислите максимальные задержки для каждой выходной переменной по отдельности.

Del = getDelayInfo(M,'channelwise')
Del = 2×5

     2     0     2     1     0
     1     0     1     5     0

Матрица Del содержит максимальные задержки для первого и второго выходов модели M. Можно интерпретировать содержимое матрицы Del следующим образом:

  • В динамике для выхода 1 (y1), максимальные задержки в каналах y1, y2, u1, u2, u3 2, 0, 2, 1 и 0 соответственно.

  • Точно так же в динамике для выхода 2 (y2) модели, максимальные задержки в каналах y1, y2, u1, u2, u3 1, 0, 1, 5 и 0 соответственно.

Найдите максимальные задержки для всех входов и выходных переменных в порядке y1, y2, u1, u2, u3.

Del = getDelayInfo(M,'all')
Del = 1×5

     2     0     2     5     0

Обратите внимание, что максимальная задержка во всех выходных уравнениях может быть получена путем выполнения MaxDel = max(Del,[],1). Поскольку вход u2 имеет 5 задержек (четвертая запись в Del), существует 5 членов, соответствующих u2 в векторе состояний. Применение этого определения ко всем каналам ввода-вывода, полному вектору состояния для модели M становится:

X(t)=[y1(t-1),y1(t-2),u1(t-1),u1(t-2),u2(t-1),u2(t-2),u2(t-3),u2(t-4),u2(t-5)]

См. также

| |

Введенный в R2008b