exponenta event banner

sumblk

Суммирование соединений на основе имен

Синтаксис

S = sumblk(formula)
S = sumblk(formula,signalsize)
S = sumblk(formula,signames1,signames2,...)

Описание

S = sumblk(formula) создает передаточную функцию, S, суммирующего перехода, описанного formula. Вектор символов formula задает уравнение, которое связывает скалярные входные и выходные сигналы S.

S = sumblk(formula,signalsize) возвращает векторное суммирующее соединение. Входной и выходной сигналы являются векторами с signalsize элементы.

S = sumblk(formula,signames1,signames2,...) заменяет псевдонимы (имена сигналов начинаются с %) в formula по названиям сигналов signames. Количество signames аргументы должны соответствовать количеству псевдонимов в formula. Первый псевдоним в formula заменяется на signames1, второй на signames2и так далее.

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

formula

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

S = sumblk('e = r - y + d')

создает суммирующее соединение с входными именами 'r', 'y', и 'd', имя вывода 'e' и уравнение e = r-y+d.

Если указать signalsize более 1, входов и выходов S - векторные сигналы. sumblk автоматически выполняет векторное расширение имен сигналов S. Например, следующая команда:

S = sumblk('v = u + d',2)

задает суммирующее соединение с входными именами {'u(1)';'u(2)';'d(1)';'d(2)'} и имена выходных данных {'v(1)';'v(2)'}. Формулы этого суммирующего соединения: v(1) = u(1) + d(1); v(2) = u(2) + d(2).

В можно использовать один или несколько псевдонимов formula для ссылки на имена сигналов, определенные в переменной. Псевдоним - это имя сигнала, начинающееся с %. Когда formula содержит псевдонимы, sumblk заменяет каждый псевдоним соответствующим signames аргумент.

Псевдонимы полезны, если требуется присвоить имена отдельным записям в сигнале с векторным значением. Псевдонимы также позволяют использовать входные или выходные имена существующих моделей. Например, если C и G динамические системные модели с непустыми InputName и OutputName соответственно, можно создать суммирующее соединение с помощью следующего выражения.

S = sumblk('%e = r - %y',C.InputName,G.OutputName)

sumblk использует значения C.InputName и G.OutputName вместо %e и %yсоответственно. Векторная размерность C.InputName и G.OutputName должно совпадать. sumblk назначает сигнал r того же размера.

signalsize

Количество элементов в каждом входном и выходном сигнале S. Настройка signalsize больше 1 позволяет задать суммирующий переход, который оперирует с векторными сигналами.

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

signames

Имена сигналов для замены одного псевдонима (имя сигнала начинается с %) в аргументе formula. Вы должны предоставить один signames аргумент для каждого псевдонима в formula.

Определить signames как:

  • Массив ячеек с именами сигналов.

  • InputName или OutputName свойства модели в рабочей области MATLAB ®. Например :

    S = sumblk('%e = r - y',C.InputName)

    Эта команда создает суммирующий переход, выходы которого имеют то же имя, что и входы модели. C в рабочей области MATLAB.

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

S

Передаточная функция для суммирующего перехода, представленного как MIMO tf объект модели.

Примеры

Суммирование соединения со скалярными сигналами

Создайте суммирующее соединение на следующей иллюстрации. Все сигналы являются скалярными.

Это суммирующее соединение имеет формулу u = u1 + u2 + u3.

S = sumblk('u = u1+u2+u3');

S является передаточной функцией (tf) представление суммы u = u1 + u2 + u3. Передаточная функция S получает входные и выходные имена из формулы.

S.OutputName,S.Inputname
ans = 

    'u'


ans = 

    'u1'
    'u2'
    'u3'

Суммирующий переход с векторными сигналами

Создание суммирующего соединения v = u - d где u,d,v - векторные сигналы длиной 2.

S = sumblk('v = u-d',2);

sumblk автоматически выполняет векторное расширение имен сигналов S.

S.OutputName,S.Inputname
ans = 

    'v(1)'
    'v(2)'


ans = 

    'u(1)'
    'u(2)'
    'd(1)'
    'd(2)'

Суммирование соединений с векторнозначными сигналами с заданными именами сигналов

Создание суммирующего соединения

e (1) = уставка (1) − альфа + d (1) e (2) = уставка (2) − q + d (2)

Сигналы alpha и q имеют пользовательские имена, которые не являются просто векторным расширением одного имени сигнала. Поэтому используйте псевдоним в формуле, задающей суммирующее соединение.

S = sumblk('e = setpoint - %y + d', {'alpha';'q'});

sumblk заменяет псевдоним %y с массивом ячеек {'alpha';'q'}.

S.OutputName,S.Inputname
ans = 

    'e(1)'
    'e(2)'


ans = 

    'setpoint(1)'
    'setpoint(2)'
    'alpha'
    'q'
    'd(1)'
    'd(2)'

Совет

  • Использовать sumblk совместно с connect соединение динамических системных моделей и получение агрегированных моделей для блок-схем.

Представлен в R2008a