Текущее значение Обобщенной Модели
curval = getValue(M)
curval = getValue(M,blockvalues)
curval = getValue(M,Mref)
возвращает текущее значение curval = getValue(M)curval модели Generalized LTI или Обобщенного матричного M. Текущее значение получено, заменив все Блоки Системы управления в M их текущим значением. (Для неопределенных блоков “текущее значение” является номинальной стоимостью блока.)
использует значения блока, заданные в структуре curval = getValue(M,blockvalues)blockvalues, чтобы вычислить текущее значение. Имена полей и значения blockvalues задают имена блока и соответствующие значения. Блоки M, не заданного в blockvalues, заменяются их текущими значениями.
наследовал значения блока от обобщенной модели curval = getValue(M,Mref)Mref. Этот синтаксис эквивалентен curval = getValue (M, Mref.Blocks). Используйте этот синтаксис, чтобы оценить текущее значение значений блока использования M, вычисленных в другом месте (например, настроенные значения, полученные с настраивающимися командами, такими как systune, looptune или команда Robust Control Toolbox™ hinfstruct).
| |
|
Блоки определения структуры Имена полей |
|
Модель Generalized LTI. Если вы обеспечиваете |
|
Числовой массив или модель Numeric LTI, представляющая текущее значение Если вы не задаете заменяющее значение для данного Блока Системы управления |
Оцените Модель для Заданных значений ее Блоков
Этот пример показывает, как заменить Блок Системы управления в модели Generalized LTI с заданным заменяющим значением с помощью getValue.
Рассмотрите следующую систему с обратной связью:

Следующий код создает модель genss этой системы с и настраиваемый контроллер PI C.
G = zpk(1,[-1,-1,-1],1);
C = tunablePID('C','pi');
Try = feedback(G*C,1)Модель genss Try имеет один Блок Системы управления, C. Блок C инициализируется к значениям по умолчанию, и модель Try имеет текущее значение, которое зависит от текущего значения C. Используйте getValue, чтобы оценить C и Try, чтобы исследовать текущие значения.
Оцените C, чтобы получить его текущее значение.
Cnow = getValue(C)
Эта команда возвращает числовой объект pid, коэффициенты которого отражают текущие значения настраиваемых параметров в C.
Оцените Try, чтобы получить его текущее значение.
Tnow = getValue(Try)
Эта команда возвращает числовую модель, которая эквивалентна feedback(G*Cnow,1).
Доступ к значениям настроенных моделей и блоков
Распространите изменения в значениях блока от одной модели до другого использования getValue.
Этот метод полезен для доступа к значениям моделей и блоков, настроенных с настраивающимися командами, такими как systune, looptune или hinfstruct. Например, если у вас есть модель с обратной связью вашей системы управления T0, с двумя настраиваемыми блоками, C1 и C2, можно настроить его использование:
[T,fSoft] = systune(T0,SoftReqs);
Можно затем получить доступ к настроенным значениям C1 и C2, а также любой модели H с обратной связью, которая зависит от C1 и C2, с помощью следующего:
C1t = getValue(C1,T); C2t = getValue(C2,T); Ht = getValue(H,T);
genss | hinfstruct | looptune | replaceBlock | systune