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

Каждая неопределенная модель или матрица (такие как 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)

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

F(ρ)=A+BρC+Dρ

со свойством это для всего ρ удовлетворяющий <reservedrangesplaceholder9> ≤ <reservedrangesplaceholder8> ≤ <reservedrangesplaceholder7>              , из этого следует, что-1 ≤ <reservedrangesplaceholder6> (ρ) ≤ 1, кроме того, F (<reservedrangesplaceholder4>) =-1, F (<reservedrangesplaceholder2>) = 0, и F (<reservedrangesplaceholder0>) = 1. Если номинальное значение сосредоточено в области значений, то легко сделать вывод, что

A=R+LRLB=2RLC=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|<reservedrangesplaceholder0>|  + 1.

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

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

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

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

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

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

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

F(ξ)=1γ(ξC).

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

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

F(H)=WL1(HN)WR1

Свойства разложения

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

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

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

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

  • Неопределенная линейная, инвариантная по времени динамика E 1,..., ENE

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

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

Напишите A (ρ, ξ, H, E, P, Q), чтобы указать на эту зависимость. Используяlftdata, A может быть разложен на две отдельных части: M и Δ (ρ, ξ, H, E, P, Q) со следующими свойствами :

  • M точно (то есть, если A uss, тогда M ss; если A является umat, тогда M double; если A является ufrd, тогда M frd).

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

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

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

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

    A(ρ,ξ,H,E,P,Q)=M22+M21Δ(ρ,ξ,H,E,P,Q)[IM11Δ(ρ,ξ,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.

The 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, a вы можете иметь прямой доступ ко всем деталям линейного дробного преобразования, и можете работать на уровне теорем и алгоритмов, которые лежат в основе методов.

См. также

| | |

Похожие темы

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