Блок взаимосвязей динамических систем
sysc = connect(sys1,...,sysN,inputs,outputs)
sysc = connect(sys1,...,sysN,inputs,outputs,APs)
sysc = connect(blksys,connections,inputs,outputs)
sysc = connect(___,opts)
соединяет элементы блока sysc
= connect(sys1,...,sysN
,inputs
,outputs
)sys1,...,sysN
на основе имен сигналов. Элементы блока sys1,...,sysN
являются динамические системы моделями. Эти модели могут включать суммирование соединений, которые вы создаете используя sumblk
. connect
команда соединяет элементы блока путем согласования входных и выходных сигналов, которые вы задаете в InputName
и OutputName
свойства sys1,...,sysN
. Совокупная модель sysc
- модель динамической системы, имеющая входы и выходы, заданные inputs
и outputs
соответственно.
вставляет sysc
= connect(sys1,...,sysN
,inputs
,outputs
,APs
)AnalysisPoint
в каждом местоположении сигнала, указанном в APs
. Используйте точки анализа, чтобы отметить интересующие местоположения, которые являются внутренними сигналами в совокупной модели. Например, место, в котором необходимо извлечь передаточную функцию цикла или измерить запасы устойчивости, является интересующим местом.
использует соединительные соединения на основе индекса для создания sysc
= connect(blksys
,connections
,inputs
,outputs
)sysc
из совокупной, несвязанной модели blksys
. Матрица connections
задает, как выходы и входы blksys
соединить. Для основанных на индексе соединительных соединений, inputs
и outputs
являются векторами индекса, которые определяют какие входы и выходы blksys
являются внешними входами и выходами sysc
. Этот синтаксис может быть удобным, когда вы не хотите присваивать имена всем входам и выходам всех моделей, чтобы соединиться. Однако в целом отслеживать именованные сигналы проще.
создает взаимосвязанную модель с помощью дополнительных опций. Можно использовать sysc
= connect(___,opts
)opts
с входными параметрами любого из предыдущих синтаксисов.
|
Динамические системы модели, которые соответствуют элементам вашего блока схемы. Например, элементы вашего блока могут включать в себя один или несколько |
|
Для межсоединения на основе имен, вектора символов или массива ячеек из векторов символов, которые задают входы совокупной модели |
|
Для межсоединения на основе имен, вектора символов или массива ячеек из векторов символов, которые задают выходы совокупной модели |
|
Местоположения (внутренние сигналы), представляющие интерес в совокупной модели, заданные как вектор символов или массив ячеек из векторов символов, таких как |
|
Несвязанная агрегатная модель. Получение blksys = append(C,G,S) |
|
Матрица, которая задает связи и суммирующие соединения блока. Каждая строка [3 2 0 0] задает, что [7 2 -15 6] указывает, что Если вы не задаете никакого соединения для определенного входа или выхода, |
|
Дополнительные опции для соединения, заданные как набор опций, который вы создаете с |
|
Взаимосвязанная система, возвращенная как модель пространства состояний или модель частотной характеристики. Тип возвращаемой модели зависит от входа моделей. Для примера:
По умолчанию, opt = connectOptions('Simplify',false); sysc = connect(sys1,sys2,sys3,'r','y',opt); |
Создайте совокупную модель следующего блока из r
на y
.
Создание C
и G
, и назовите входы и выходы.
C = pid(2,1); C.u = 'e'; C.y = 'u'; G = zpk([],[-1,-1],1); G.u = 'u'; G.y = 'y';
Обозначения C.u
и C.y
являются краткими выражениями, эквивалентными C.InputName
и C.OutputName
, соответственно. Для примера введите C.u = 'e'
эквивалентно вводу C.InputName = 'e'
. Команда устанавливает InputName
свойство C
к значению 'e'
.
Создайте суммирующее соединение.
Sum = sumblk('e = r - y');
Объедините C
, G
, и суммирующее соединение для создания совокупной модели из r
на y
.
T = connect(G,C,Sum,'r','y');
connect
автоматическое соединение входов и выходов с совпадающими именами.
Создайте систему управления из предыдущего примера, где G
и C
являются обеими моделями с 2 входами, 2 выходами.
C = [pid(2,1),0;0,pid(5,6)]; C.InputName = 'e'; C.OutputName = 'u'; G = ss(-1,[1,2],[1;-1],0); G.InputName = 'u'; G.OutputName = 'y';
Когда вы задаете одинарные имена для векторных сигналов, программа автоматически выполняет векторное расширение имен сигналов. Например, исследуйте имена входов, чтобы C
.
C.InputName
ans = 'e(1)' 'e(2)'
Создайте 2-входное, 2-выходное суммирующее соединение.
Sum = sumblk('e = r-y',2);
sumblk
также выполняет векторное расширение имен сигналов.
Соедините модели между собой, чтобы получить систему с обратной связью.
T = connect(G,C,Sum,'r','y');
Элементы блока G
, C
, и Sum
все модели с 2 входами, 2 выходами. Поэтому, connect
выполняет то же векторное расширение. connect
выбирает все значения двух входных сигналов 'r'
и 'y'
как входы и выходы для T
, соответственно. Для примера исследуйте вход имена T
.
T.InputName
ans = 'r(1)' 'r(2)'
connect
Создайте модель следующего блока от r до y. Вставьте точку анализа во внутреннем местоположении, u.
Создание C
и G
, и назовите входы и выходы.
C = pid(2,1); C.InputName = 'e'; C.OutputName = 'u'; G = zpk([],[-1,-1],1); G.InputName = 'u'; G.OutputName = 'y';
Создайте суммирующее соединение.
Sum = sumblk('e = r - y');
Объедините C
, G
, и суммирующее соединение для создания совокупной модели с точкой анализа u.
T = connect(G,C,Sum,'r','y','u')
T = Generalized continuous-time state-space model with 1 outputs, 1 inputs, 3 states, and the following blocks: AnalysisPoints_: Analysis point, 1 channels, 1 occurrences. Type "ss(T)" to see the current value, "get(T)" to see all properties, and "T.Blocks" to interact with the blocks.
Результат T
является genss
модель. The connect
команда создает AnalysisPoint
блок, AnalysisPoints_
, и вставляет его в T
. Чтобы увидеть имя канала точки анализа в AnalysisPoints_
, использовать getPoints
.
getPoints(T)
ans = 1x1 cell array
{'u'}
Канал точки анализа назван 'u'
. Можно использовать эту точку анализа для извлечения откликов системы. Для примера следующие команды извлекают передачу разомкнутого контура в u и реакцию с обратной связью в y на нарушение порядка, введенную в u.
L = getLoopTransfer(T,'u',-1); Tuy = getIOTransfer(T,'u','y');
T
эквивалентно следующему блоку, где AP_u обозначает AnalysisPoint
блочное AnalysisPoints_
с именем канала u.
Создайте совокупную модель следующего блока из r
на y
использование основанного на индексе соединительного соединения.
Создание C
, G
и несвязанную совокупную модель blksys
.
C = pid(2,1); G = zpk([],[-1,-1],1); blksys = append(C,G);
Входы u(1),u(2)
от blksys
соответствуют входам C
и G
, соответственно. Выходные выходы w(1),w(2)
от blksys
соответствуют выходам C
и G
, соответственно.
Создайте матрицу connections
, который определяет, какие выходы blksys
соедините с которым входы blksys
.
connections = [2 1; 1 -2];
Первая строка указывает, что w(1)
соединяется с u(2)
; другими словами, что выход C
соединяется с входом G
. Вторая строка указывает, что -w(2)
соединяется с u(1)
; другими словами, что отрицательное значение выхода G
соединяется с входом C
.
Создайте связанную агрегатную модель из r
на y
.
T = connect(blksys,connections,1,2)
Последние два аргумента определяют внешние входы и выходы с точки зрения индексов blksys
. Аргумент 1
указывает, что внешний вход соединяется с u(1)
. Последний аргумент, 2
, указывает, что внешний выход соединяется с w(2)
.
AnalysisPoint
| append
| connectOptions
| feedback
| lft
| parallel
| series
| sumblk