Блок взаимосвязей динамических систем
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