Соединения блок-схемы динамических систем
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
выбирает все записи 2D входных сигналов '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
и соединение подведения итогов, чтобы создать совокупную модель, с аналитической точкой в вас.
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
. Команда connect
создает блок AnalysisPoint
, AnalysisPoints_
, и вставляет его в T
. Чтобы видеть имя аналитического канала точки в AnalysisPoints_
, используйте getPoints
.
getPoints(T)
ans = 1x1 cell array
{'u'}
Аналитический канал точки называют 'u'
. Можно использовать эту аналитическую точку, чтобы извлечь отклики системы. Например, следующие команды извлекают передачу разомкнутого цикла в вас и ответ с обратной связью в y к воздействию, введенному в вас.
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