exponenta event banner

Разложение неопределенных объектов

Каждая неопределенная модель или матрица (например, uss, genss, ufrd, или umat,) - обобщенное соединение обратной связи (lft) неопределенного объекта (например, double, ss, frd) с диагональным увеличением неопределенных элементов (ureal, ultidyn, umargin, ucomplex, ucomplexm, udyn). На надежном управляющем жаргоне, если неопределённые элементы нормализованы, это разложение часто называют «M/D-формой».

Назначение неопределенных объектов (ureal, ultidyn, umat, ussи т.д.), чтобы скрыть это лежащее в основе разложение и позволить пользователю сосредоточиться на моделировании и анализе неопределенных систем, а не на деталях правильного распространения M/D представления в манипуляциях. Тем не менее продвинутые пользователи могут захотеть получить доступ к привычной форме M/D. Команда lftdata выполняет это разложение.

С тех пор ureal, umargin, ucomplex и ucomplexm не имеют их NominalValue обязательно при нуле, а в случае ureal и umargin объекты, не обязательно симметричны относительно NominalValue, при описании разложения требуются некоторые подробности.

Нормализация функций для неопределенных элементов

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

Неопределенный реальный параметр (ureal)

Если startявляется неопределенным вещественным параметром, с диапазоном [L R] и номинальное значение N, то нормирующая функция F

F (start) = A + BαC + D,

при том свойстве, что для всех, удовлетворяющих L ≤ start ≤ R, следует, что -1 ≤ F (start ) ≤ 1, более того, F ( L) = -1, F (N ) = 0, и F ( R) = 1. Если номинальное значение центрировано в диапазоне, то легко сделать вывод, что

A = R + LR LB = 2R − LC = 1D = 0.

Это оставлено в качестве упражнения алгебры для пользователя, чтобы выработать различные значения для A, B, C и D если номинальное значение не центрировано.

Неопределенная линейная инвариантная по времени динамическая неопределенность (ultidyn)

Если E является неопределенной, ограниченной по коэффициенту усиления, линейной, инвариантной по времени динамической неопределенностью с β, связанной по коэффициенту усиления, то нормализующая функция F равна

F (E) = 1βE.

Если E является неопределенной положительной-действительной, линейной, инвариантной во времени динамической неопределенностью с положительной привязкой β, то нормализующая функция F равна

F (E) = [I α (E β2I)] [I + α (E − β2I)] − 1

где α = 2 | β | + 1.

Неопределенный коэффициент усиления и фаза (umargin)

Для umargin блок Q (s), нормализованное значение F (Q (s)) = δ (s), где δ (s) - динамическая неопределенность, ограниченная коэффициентом усиления, нормализованная так, что она всегда изменяется в пределах единичного диска (||δ||∞ < 1). Другими словами, F (Q) является единичным коэффициентом усиления.ultidyn неопределенный элемент.

Фактические значения Q соответствуют единице усиления δ через параметризацию

Q (s) = 1 + α [(1 E )/2] δ (s) 1 α [(1 + E )/2] δ (s).

Дополнительные сведения об этой параметризации см. в разделе umargin.

Неопределенные сложные параметры (ucomplex)

Нормирующая функция для неопределенного комплексного параметра, с номинальным значением C и радиусом γ, равна

F (start) = (start− C).

Неопределенные комплексные матрицы (umat)

Нормирующая функция для неопределенных комплексных матриц H с номинальным значением N и весами WL и WR составляет

F (H) = WL 1 (H − N) WR − 1

Свойства декомпозиции

Возьмите неопределенный объект A, зависящий от:

  • Неопределенные реальные параметры ρ1,...,ρNρ

  • Неопределенные сложные параметры ξ1,...,ξNξ

  • Неопределенные комплексные матрицы H1,...,HNH

  • Неопределенная линейная, инвариантная по времени динамика, ограниченная коэффициентом усиления E1,...,ENE

  • Неопределенная положительно-реальная линейная, инвариантная во времени динамика P1,...,PNP

  • Неопределенный коэффициент усиления и фазовый Q1,...,QNQ

Для указания этой зависимости запишите A («» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» Используяlftdata, A может быть разложен на две отдельные части: M и Δ (

  • M является определенным (т.е. если A является uss, то М - ss; если A является umat, то М - double; если A является ufrd, то М - frd).

  • Δ всегда является umat, в зависимости от тех же неопределенных элементов, что и A, с диапазонами, границами, весами и т.д., без изменений.

  • Форма Δ является блок-диагональной, с элементами, составленными из нормирующих функций, действующих на отдельные неопределенные элементы:

    Δ (ρ, H, E, P, Q) = [F (ρ) 000000F (ξ) 000000F (H) 000000F (E) 000000F (P) 00000F (Q)].

  • (ρ, H, E, P, Q) дан линейным фракционным преобразованием M и Δ (ρ, H, E, P, Q),

    (ρ, H, E, P, Q) =M22+M21Δ (ρ, H, E, P, Q) [I−M11Δ (ρ, H, E, P, Q)] −1M12.

Порядок нормированных элементов, составляющих A не является простым порядком, показанным выше. Фактически это тот же порядок, что и в команде fieldnames(M.Uncertainty), как показано в следующем примере.

Разложение неопределенной модели с использованием lftdata

Вы разлагаете неопределенную модель на фиксированную определенную деталь и нормализуете неопределенную деталь с помощью lftdata команда. Чтобы увидеть, как работает эта команда, создайте неопределенную матрицу 2 на 2 (umat) с использованием трех неопределенных реальных параметров.

delta = ureal('delta',2); 
eta = ureal('eta',6); 
rho = ureal('rho',-1); 
A = [3+delta+eta delta/eta;7+rho rho+delta*eta]
A =

  Uncertain matrix with 2 rows and 2 columns.
  The uncertainty consists of the following blocks:
    delta: Uncertain real, nominal = 2, variability = [-1,1], 2 occurrences
    eta: Uncertain real, nominal = 6, variability = [-1,1], 3 occurrences
    rho: Uncertain real, nominal = -1, variability = [-1,1], 1 occurrences

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

umat A зависит от двух вхождений delta, три вхождения etaи один случай rho.

Разложиться A в M и Delta.

[M,Delta] = lftdata(A);

M - числовая матрица.

M
M = 8×8

         0         0         0   -0.1667         0         0    1.0000    0.1667
         0         0         0         0    1.0000         0         0    6.0000
         0         0         0         0         0         0    1.0000         0
         0         0         0   -0.1667         0         0         0    0.1667
         0         0         0         0         0         0         0    1.0000
         0         0         0         0         0         0    1.0000    1.0000
    1.0000         0    1.0000   -0.3333         0         0   11.0000    0.3333
         0    1.0000         0         0    2.0000    1.0000    6.0000   11.0000

Delta является umat с той же зависимостью неопределенности, что и A.

Delta
Delta =

  Uncertain matrix with 6 rows and 6 columns.
  The uncertainty consists of the following blocks:
    delta: Uncertain real, nominal = 2, variability = [-1,1], 2 occurrences
    eta: Uncertain real, nominal = 6, variability = [-1,1], 3 occurrences
    rho: Uncertain real, nominal = -1, variability = [-1,1], 1 occurrences

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

Изучить некоторые из характеристик DeltaПробой в трех точках. Обратите внимание, что:

  • Выборочное значение Delta всегда диагональ.

  • Значения выборки всегда находятся в диапазоне от -1 до 1, поскольку Delta нормализовано.

  • Каждая из отобранных матриц содержит три независимых значения. Дублирование записей согласуется с зависимостью Delta и A по трем неопределенным реальным параметрам.

usample(Delta,3)
ans = 
ans(:,:,1) =

    0.6294         0         0         0         0         0
         0    0.6294         0         0         0         0
         0         0    0.8268         0         0         0
         0         0         0    0.8268         0         0
         0         0         0         0    0.8268         0
         0         0         0         0         0   -0.4430


ans(:,:,2) =

    0.8116         0         0         0         0         0
         0    0.8116         0         0         0         0
         0         0    0.2647         0         0         0
         0         0         0    0.2647         0         0
         0         0         0         0    0.2647         0
         0         0         0         0         0    0.0938


ans(:,:,3) =

   -0.7460         0         0         0         0         0
         0   -0.7460         0         0         0         0
         0         0   -0.8049         0         0         0
         0         0         0   -0.8049         0         0
         0         0         0         0   -0.8049         0
         0         0         0         0         0    0.9150

Убедитесь, что максимальный коэффициент усиления равен Delta равно 1.

maxnorm = wcnorm(Delta)
maxnorm = struct with fields:
    LowerBound: 0
    UpperBound: 1.0008

Наконец, убедитесь, что lft(Delta,M) является таким же, как A. Для этого возьмите разницу и используйте 'full' опция в simplify для удаления избыточных зависимостей от неопределенных элементов.

simplify(lft(Delta,M)-A,'full')
ans = 2×2
10-18 ×

         0    0.3955
         0         0

Расширенный синтаксис lftdata

Даже для расширенного пользователя переменная Delta на самом деле это не будет так полезно, так как это все еще сложный объект. С другой стороны, его внутренняя структура описывается полностью с использованием 3-го (и 4-го) выходного аргумента.

[M,Delta,BlkStruct,NormUnc] = lftdata(A); 

Строки BlkStruct соответствуют неопределенным элементам, названным в fieldnames(A.Uncertainty). Элементы BlkStruct опишите размер, тип и количество копий неопределенных элементов в Aи неявно разграничить точную блок-диагональную структуру Delta. Обратите внимание, что информация о диапазоне/границах для каждого неопределенного элемента не включена в BlkStruct.

BlkStruct(1)
ans = struct with fields:
           Name: 'delta'
           Size: [1 1]
           Type: 'ureal'
    Occurrences: 2
       Simplify: 2

BlkStruct(2) 
ans = struct with fields:
           Name: 'eta'
           Size: [1 1]
           Type: 'ureal'
    Occurrences: 3
       Simplify: 2

BlkStruct(3) 
ans = struct with fields:
           Name: 'rho'
           Size: [1 1]
           Type: 'ureal'
    Occurrences: 1
       Simplify: 2

Вместе эти записи означают, что Delta представляет собой блок-диагональное увеличение нормализованной версии трех неопределенных элементов.

Имя первого элемента 'delta'. Это 1 на 1; это класса ureal; и есть две копии, диагонально дополненные.

Имя второго элемента 'eta'. Это 1 на 1; это класса ureal; и есть три копии, диагонально дополненные.

Третий элемент имеет имя 'rho'. Это 1 на 1; это класса ureal; и есть один экземпляр,

Четвертый выходной аргумент lftdata содержит массив ячеек нормализованных неопределенных элементов. Массив ячеек содержит столько вхождений каждого элемента, сколько вхождений в исходном неопределенном объекте A.

size(NormUnc) 
ans = 1×2

     6     1

NormUnc{1} 
ans = 
  Uncertain real parameter "deltaNormalized" with nominal value 0 and variability [-1,1].

isequal(NormUnc{2},NormUnc{1}) 
ans = logical
   1

NormUnc{3} 
ans = 
  Uncertain real parameter "etaNormalized" with nominal value 0 and variability [-1,1].

isequal(NormUnc{4},NormUnc{3}) 
ans = logical
   1

isequal(NormUnc{5},NormUnc{3}) 
ans = logical
   1

NormUnc{6} 
ans = 
  Uncertain real parameter "rhoNormalized" with nominal value 0 and variability [-1,1].

Каждый нормализованный элемент имеет 'Normalized' добавил к своему первоначальному названию, чтобы избежать путаницы. При нормализации

  • ureal объекты имеют номинальное значение 0 и находятся в диапазоне от -1 до 1.

  • ultidyn объекты ограничены нормой, а граница нормы равна 1.

  • umargin объекты преобразуются в объекты, ограниченные нормой ultidyn объекты с границей нормы 1.

  • ucomplex объекты имеют номинальное значение 0 и радиус 1.

  • ucomplexm объекты имеют номинальное значение 0 и идентификационные матрицы для каждого из WL и WR весов.

Возможные варианты поведения Delta и blkdiag(NormUnc{:}) одинаковые. Следовательно, возможное поведение A и lft(blkdiag(NormUnc{:}),M) одинаковые.

Следовательно, манипулируя M, BlkStruct и NormUnc, вы можете иметь прямой доступ ко всем деталям линейного дробного преобразования, и может работать на уровне теорем и алгоритмов, которые лежат в основе методов.

См. также

| | |

Связанные темы