Замените или обновите блоки проекта системы управления в обобщенной модели LTI
Mnew = replaceBlock(M,Block1,Value1,...,BlockN,ValueN)
Mnew = replaceBlock(M,blockvalues)
Mnew = replaceBlock(...,mode)
заменяет Управляйте блоками проекта
MMnew
= replaceBlock(M
,Block1,Value1,...,BlockN,ValueN)Block1,...,BlockN
с заданными значениями
Value1,...,ValueN
. M
является Обобщенной моделью LTI или Обобщенной матрицей.
задает имена блоков и заменяющие их значения как имена полей и значения структуры Mnew
= replaceBlock(M
,blockvalues
)blockvalues
.
выполняет блок замену на массиве моделей Mnew
= replaceBlock(...,mode
)M
использование режима замещения, заданного mode
.
|
Обобщенная модель LTI, Обобщенная матрица или массив таких моделей. |
|
Имена блоков Системы управления в Если заданное |
|
Значения замены для соответствующих блоков Значение замены для блока может быть любым значением, совместимым с размером блока, включая другой блок Система Управления, числовую матрицу или модель LTI. Если какое-либо значение |
|
Структура, задающая блоки Имена полей |
|
Блок режим замены для входа array
Когда вход По умолчанию: |
|
Матрица или линейная модель или матрица, где указанные блоки заменяются заданными значениями замены.
|
Этот пример показов, как заменить настраиваемый ПИД-регулятор (tunablePID
) в Обобщенной модели LTI с помощью чистого усиления, числового ПИ-контроллера или текущего значения настраиваемого контроллера.
Создайте Обобщенную модель 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
по ПИ-контроллеру с пропорциональной составляющей 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
выполнить исследования параметров путем выборки Обобщенных моделей LTI через сетку параметров или оценить настраиваемые модели для конкретных значений настраиваемых блоков. См. примеры.
Для дополнительных опций для дискретизации расчетных блоков системы управления, включая параллельную выборку, используйте sampleBlock
.
Чтобы взять случайные выборки блоков системы управления, см. rsampleBlock
genmat
| genss
| getValue
| nblocks
| rsampleBlock
| sampleBlock