Создайте модели неопределенных систем

Две доминирующих формы неуверенности модели следующие:

  • Неуверенность в параметрах базовых моделей дифференциального уравнения

  • Неуверенность частотного диапазона, которая часто определяет количество неуверенности модели путем описания абсолютной или относительной неуверенности в частотной характеристике процесса

Используя эти два основных стандартных блока, наряду с обычными системными командами создания (такими как ss и tf), можно легко создать неопределенные системные модели.

Создание неопределенных параметров

Неопределенный параметр имеет имя (раньше идентифицировал его в неопределенной системе со многими неопределенными параметрами), и номинальная стоимость. Будучи сомнительным, это также имеет изменчивость, описанную одним из следующих способов:

  • Аддитивное отклонение от номинала

  • Область значений о номинале

  • Отклонение процента от номинала

Создайте действительный параметр, с именем '|bw |', номинальная стоимость 5, и неуверенность процента в 10%.

bw = ureal('bw',5,'Percentage',10)
bw =

  Uncertain real parameter "bw" with nominal value 5 and variability [-10,10]%.

Эта команда создает объект ureal, который хранит много параметров в его свойствах. Просмотрите свойства bw.

get(bw)
    NominalValue: 5
            Mode: 'Percentage'
           Range: [4.5000 5.5000]
       PlusMinus: [-0.5000 0.5000]
      Percentage: [-10 10]
    AutoSimplify: 'basic'
            Name: 'bw'

Обратите внимание на то, что область значений изменения (свойство Range) и аддитивное отклонение от номинала (свойство PlusMinus) сопоставима со значением свойства Percentage.

Можно создать пространство состояний и модели передаточной функции с неопределенными действительными коэффициентами с помощью объектов ureal. Результатом является неопределенный объект (uss) пространства состояний. Как пример, используйте неопределенный действительный параметр bw, чтобы смоделировать систему первого порядка, пропускная способность которой между 4.5 и 5,5 рад/с.

H = tf(1,[1/bw 1])
H =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 1 states.
  The model uncertainty consists of the following blocks:
    bw: Uncertain real, nominal = 5, variability = [-10,10]%, 1 occurrences

Type "H.NominalValue" to see the nominal value, "get(H)" to see all properties, and "H.Uncertainty" to interact with the uncertain elements.

Обратите внимание на то, что результатом H является неопределенная система, названная моделью uss. Номинальная стоимость H является моделью (ss) пространства состояний. Проверьте, что полюс в-5, как ожидалось от номинальной стоимости неопределенного параметра 5.

pole(H.NominalValue)
ans = -5

Затем, используйте bodeplot и stepplot, чтобы исследовать поведение H. Эти команды строят ответы номинальной системы и много случайных выборок неопределенной системы.

bodeplot(H,{1e-1 1e2});

stepplot(H)

В то время как существуют изменения в пропускной способности и временной константе H, высокочастотных списков прочь на уровне 20 дБ/десятилетие независимо от значения bw. Можно получить более сложное неопределенное поведение, которое обычно происходит в высоких частотах с помощью ultidyn неопределенный элемент.

Определение количества несмоделированной динамики

Неофициальный способ описать различие между моделью процесса и фактическим поведением процесса с точки зрения пропускной способности. Распространено услышать, что “Модель хороша к 8 радианам/секунда”. Точное значение не ясно, но разумно полагать, что для частот ниже, чем, скажем, 5 рад/с, модель точна, и для частот вне, скажем, 30 рад/с, модель является не обязательно представительной для поведения процесса. В частотном диапазоне между 5 и 30, ухудшается гарантируемая точность модели.

Неопределенный линейный, независимый от времени объект ultidyn динамики может использоваться, чтобы смоделировать этот тип знания. Объект ultidyn представляет неизвестную линейную систему, чья только известный атрибут является универсальным значением, привязал его частотную характеристику. Когда вместе с номинальной моделью и формирующий фильтром частоты, объекты ultidyn могут использоваться, чтобы получить неуверенность, сопоставленную с образцовой динамикой.

Предположим, что поведение системы, смоделированной H значительно, отклоняет от его поведения первого порядка вне 9 рад/с, например, приблизительно 5%-й потенциальной относительной погрешности в низкой частоте, увеличиваясь до 1 000% в высокой частоте, где H прокручивается прочь. В порядке смоделировать неуверенность частотного диапазона, как описано выше использования объектов ultidyn, выполните эти шаги:

  1. Создайте номинальную систему Gnom, с помощью tf, ss или zpk. сам Gnom может уже иметь неуверенность параметра. В этом случае Gnom является H, система первого порядка с неопределенной временной константой.

  2. Создайте фильтр W, названный “весом”, значение которого представляет относительную неуверенность на каждой частоте. Служебный makeweight полезен для создания весов первого порядка с низким определенным - и высокочастотные усиления и заданная частота перекрестного соединения усиления.

  3. Создайте объект ultidyn Delta со значением, связанным равный 1.

Неопределенная модель G формируется G = Gnom*(1+W*Delta).

Если значение W представляет абсолют (а не родственник) неуверенность, используйте формулу G = Gnom + W*Delta вместо этого.

Следующие команды выполняют эти шаги:

bw = ureal('bw',5,'Percentage',10);
H = tf(1,[1/bw 1]);

Gnom = H;
W = makeweight(.05,9,10);
Delta = ultidyn('Delta',[1 1]);
G = Gnom*(1+W*Delta)
G =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 2 states.
  The model uncertainty consists of the following blocks:
    Delta: Uncertain 1x1 LTI, peak gain = 1, 1 occurrences
    bw: Uncertain real, nominal = 5, variability = [-10,10]%, 1 occurrences

Type "G.NominalValue" to see the nominal value, "get(G)" to see all properties, and "G.Uncertainty" to interact with the uncertain elements.

Обратите внимание на то, что результатом G является также неопределенная система с зависимостью и от Delta и от bw. Можно использовать bode, чтобы сделать Диаграмму Боде 20 случайных выборок G' s поведением по частотному диапазону [0.1 100] rad/s.

bode(G,{1e-1 1e2})

Похожие темы