Замените или обновите Блоки Системы управления в модели Generalized LTI
Mnew = replaceBlock(M,Block1,Value1,...,BlockN,ValueN)
Mnew = replaceBlock(M,blockvalues)
Mnew = replaceBlock(...,mode)
заменяет Блоки системы управления Mnew
= replaceBlock(M
,Block1,Value1,...,BlockN,ValueN)Block1,...,BlockN
M
с заданными значениями Value1,...,ValueN
. M
является моделью Generalized LTI или Обобщенной матрицей.
задает имена блока и заменяющие значения как имена полей и значения структуры Mnew
= replaceBlock(M
,blockvalues
)blockvalues
.
выполняет замену блока на массиве моделей Mnew
= replaceBlock(...,mode
)M
с помощью режима замены, заданного mode
.
|
Обобщенная модель LTI, Обобщенная матрица или массив таких моделей. |
|
Имена Блоков Системы управления в Если заданный |
|
Заменяющие значения для соответствующих блоков Заменяющее значение для блока может быть любым значением, совместимым с размером блока, включая различный Блок Системы управления, числовую матрицу или модель LTI. Если значением является |
|
Блоки определения структуры Имена полей |
|
Блокируйте заменяющий режим для входного массива
Когда вход Значение по умолчанию: |
|
Матричная или линейная модель или матрица, где заданные блоки заменяются заданными заменяющими значениями.
|
Этот пример показывает, как заменить настраиваемый ПИД-регулятор (tunablePID
) в модели Generalized LTI чистым усилением, числовым контроллером PI или текущим значением настраиваемого контроллера.
Создайте модель Generalized LTI следующей системы:
где объект , и C является настраиваемым ПИД-регулятором.
G = zpk(1,[-1,-1,-1],1); C = tunablePID('C','pid'); Try = feedback(G*C,1)
Замените C
чистым усилением 5.
T1 = replaceBlock(Try,'C',5);
T1
является моделью ss
, которая равняется feedback(G*5,1)
.
Замените C
контроллером PI с пропорциональным усилением 5 и интегральным усилением 0,1.
C2 = pid(5,0.1); T2 = replaceBlock(Try,'C',C2);
T2
является моделью ss
, которая равняется feedback(G*C2,1)
.
Замените C
его текущим (номинальным) значением.
T3 = replaceBlock(Try,'C',[]);
T3
является моделью ss
, где C
был заменен getValue(C)
.
Считайте фильтр второго порядка представленным:
Выберите этот фильтр в переменных значениях постоянного затухания и собственная частота . Создайте настраиваемую модель фильтра при помощи настраиваемых элементов для и .
wn = realp('wn',3); zeta = realp('zeta',0.8); F = tf(wn^2,[1 2*zeta*wn wn^2])
F = Generalized continuous-time state-space model with 1 outputs, 1 inputs, 2 states, and the following blocks: wn: Scalar parameter, 5 occurrences. zeta: Scalar parameter, 1 occurrences. Type "ss(F)" to see the current value, "get(F)" to see all properties, and "F.Blocks" to interact with the blocks.
Создайте сетку демонстрационных значений.
wnvals = [3;5]; zetavals = [0.6 0.8 1.0]; [wngrid,zetagrid] = ndgrid(wnvals,zetavals); Fsample = replaceBlock(F,'wn',wngrid,'zeta',zetagrid); size(Fsample)
2x3 array of state-space models. Each model has 1 outputs, 1 inputs, and 2 states.
ndgrid команда производит полное 2 3 сетка комбинаций параметра. Таким образом Fsample
является массивом 2х3 моделей в пространстве состояний. Каждая запись в массиве является моделью в пространстве состояний, которая представляет F
, оцененный при соответствии (wn
, zeta
) пара. Например, Fsample(:,:,2,3)
имеет wn
= 5 и zeta
= 1.0.
damp(Fsample(:,:,2,3))
Pole Damping Frequency Time Constant (rad/seconds) (seconds) -5.00e+00 1.00e+00 5.00e+00 2.00e-01 -5.00e+00 1.00e+00 5.00e+00 2.00e-01
Используйте replaceBlock
, чтобы выполнить исследования параметра путем выборки моделей Generalized LTI через сетку параметров или оценить настраиваемые модели для определенных значений настраиваемых блоков. Смотрите Примеры.
Для дополнительных опций для выборки блоков системы управления, включая параллельную выборку, sampleBlock
использования.
Чтобы взять случайные выборки блоков системы управления, смотрите rsampleBlock
genmat
| genss
| getValue
| nblocks
| rsampleBlock
| sampleBlock