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 (ny +nu) матрица).

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

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

Примеры

свернуть все

Создайте 2D выход, нелинейную модель 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