Замените или обновите Блоки Системы управления в модели 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 чистым усилением, числовым ПИ-контроллером или текущим значением настраиваемого контроллера.
Создайте модель 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
isa ss
модель, которая равняется feedback(G*5,1)
.
Замените C
ПИ-контроллером с пропорциональной составляющей 5 и интегральной составляющей 0,1.
C2 = pid(5,0.1); T2 = replaceBlock(Try,'C',C2);
T2
isa ss
модель, которая равняется feedback(G*C2,1)
.
Замените C
его текущим (номинальным) значением.
T3 = replaceBlock(Try,'C',[]);
T3
isa 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