getValue

Текущее значение Обобщенной Модели

Синтаксис

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 (Robust Control Toolbox)).

Входные параметры

M

Обобщенная модель LTI или Обобщенная матрица.

blockvalues

Блоки определения структуры M заменять и значения, на которые можно заменить те блоки.

Имена полей blockvalues совпадайте с именами Блоков Системы управления M. Используйте значения полей, чтобы задать заменяющие значения для соответствующих блоков M. Значения полей могут быть числовыми значениями, моделями динамической системы или статическими моделями. Если некоторые значения полей являются моделями Control Design Blocks или Generalized LTI, текущими значениями тех моделей является использованный для расчета curval.

Mref

Модель Generalized LTI. Если вы обеспечиваете Mref, getValue вычисляет curval использование текущих значений блоков в Mref чьи имена совпадают с блоками в M.

Выходные аргументы

curval

Числовой массив или модель Numeric LTI, представляющая текущее значение M.

Если вы не задаете заменяющее значение для данного Блока Системы управления M, getValue использует текущее значение того блока.

Примеры

Оцените Модель для Заданных значений ее Блоков

В этом примере показано, как заменить Блок Системы управления в модели Generalized LTI с заданным использованием заменяющего значения getValue.

Рассмотрите следующую систему с обратной связью:

Следующий код создает a genss модель этой системы с G(s)=(s1)(s+1)3 и настраиваемый ПИ-контроллер 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 исследовать текущие значения.

  1. Оцените C получить его текущее значение.

    Cnow = getValue(C)

    Эта команда возвращает числовое pid возразите, чьи коэффициенты отражают текущие значения настраиваемых параметров в C.

  2. Оцените Try получить его текущее значение.

    Tnow = getValue(Try)

    Эта команда возвращает числовую модель, которая эквивалентна feedback(G*Cnow,1).

Доступ к значениям настроенных моделей и блоков

Распространите изменения в значениях блока от одной модели до другого использования getValue.

Этот метод полезен для доступа к значениям моделей и блоков, настроенных с настраивающимися командами такой как systune, looptune, или hinfstruct (Robust Control Toolbox). Например, если у вас есть модель с обратной связью вашей системы управления 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);

Смотрите также

| | | | (Robust Control Toolbox)

Представленный в R2011b