Замена или обновление блоков управления в обобщенной модели 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 - обобщенная модель LTI или обобщенная матрица.
определяет имена блоков и заменяющие значения в качестве имен полей и значений структуры; Mnew = replaceBlock(M,blockvalues)blockvalues.
выполняет замену блоков в массиве моделей Mnew = replaceBlock(...,mode)M с использованием режима подстановки, указанного в mode.
|
Обобщенная модель LTI, Обобщенная матрица или массив таких моделей. |
|
Имена блоков проектирования элементов управления в Если указан |
|
Значения замены для соответствующих блоков Значением замены для блока может быть любое значение, совместимое с размером блока, включая другой блок конструкции элемента управления, числовую матрицу или модель LTI. Если какое-либо значение равно |
|
Структура, определяющая блоки Имена полей |
|
Режим замены блоков для входного массива
Когда вход По умолчанию: |
|
Матрица или линейная модель или матрица, где указанные блоки заменяются заданными значениями замены.
|
В этом примере показано, как заменить настраиваемый PID-контроллер (tunablePID) в модели Generalized LTI по чистому коэффициенту усиления, числовому PI-контроллеру или текущему значению перестраиваемого контроллера.
Создайте обобщенную модель LTI для следующей системы:

где установка (s + 1) 3, а 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).
Рассмотрим фильтр второго порядка, представленный следующим образом:
Выполните выборку этого фильтра при изменяющихся значениях демпфирующей константы/и собственной частоты/n. Создайте перестраиваемую модель фильтра, используя перестраиваемые элементы для .
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 для выполнения исследований параметров путем выборки обобщенных моделей LTI по сетке параметров или для оценки перестраиваемых моделей для конкретных значений перестраиваемых блоков. См. Примеры.
Для дополнительных вариантов проектирования контрольных блоков отбора проб, включая параллельный отбор проб, используйте sampleBlock.
Чтобы взять случайные образцы контрольных проектных блоков, см. rsampleBlock
genmat | genss | getValue | nblocks | rsampleBlock | sampleBlock