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

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

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

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

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

Сопоставленный с каждым неопределенным элементом функция нормализации. Функция нормализации сопоставляет неопределенный элемент в нормированный неопределенный элемент.

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

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

со свойством это для всего ρ, удовлетворяющего L ≤ ρ ≤ R, из этого следует, что –1 ≤ F (ρ) ≤ 1, кроме того, F (L) = –1, F (N) = 0, и F(R)  = 1. Если номинальная стоимость сосредоточена в области значений, то легко завершить это

A=R+LRLB=2RLC=1D=0.

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

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

F(E)=1βE.

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

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

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

Функция нормализации для неопределенного комплексного параметра ξ, с номинальной стоимостью C и радиусом γ,

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

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

F(H)=WL1(HN)WR1

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

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

Возьмите неопределенный объект A, зависящий от неопределенных действительных параметров ρ 1..., ρN, неопределенные комплексные параметры ξ 1..., ξK, неопределенный комплексный H1 матриц..., HB, неопределенная ограниченная усилением линейная, независимая от времени динамика E1..., ED и неопределенная положительно-действительная линейная, независимая от времени динамика P1..., PQ.

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

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

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

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

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

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

    A(ρ,ξ)=M22+M21Δ(ρ,ξ,H,E,P)[IM11Δ(ρ,ξ,H,E,P)]1M12.

Порядок нормированных элементов, составляющих A, не является простым порядком, показанным выше. Это - на самом деле тот же порядок, как дано командой fieldnames(M.Uncertainty). Смотрите Усовершенствованный Синтаксис lftdata для получения дополнительной информации.

Анализируйте Неопределенную Модель Используя 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.

A umat зависит от двух случаев 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

     0     0
     0     0

Усовершенствованный Синтаксис lftdata

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

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

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

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

BlkStruct(1) 
ans = 
           Name: 'delta' 
           Size: [1 1] 
           Type: 'ureal' 
    Occurrences: 2 
BlkStruct(2) 
ans = 
           Name: 'eta' 
           Size: [1 1] 
           Type: 'ureal' 
    Occurrences: 3 
BlkStruct(3) 
ans = 
           Name: 'rho' 
           Size: [1 1] 
           Type: 'ureal' 
    Occurrences: 1 

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

Первый элемент называют 'delta'. Это 1 на 1; это имеет класс ureal; и существует 2 копии, по диагонали увеличенные.

Второй элемент называют 'eta'. Это 1 на 1; это имеет класс ureal; и существует 3 копии, по диагонали увеличенные.

Третий элемент называют 'rho'. Это 1 на 1; это имеет класс ureal; и существует 1 копия,

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

size(NormUnc) 
ans = 
     6     1 
NormUnc{1} 
Uncertain Real Parameter: Name deltaNormalized, NominalValue 0, 
variability = [-1  1] 
isequal(NormUnc{2},NormUnc{1}) 
ans = 
     1 
NormUnc{3} 
Uncertain Real Parameter: Name etaNormalized, NominalValue 0, 
variability = [-1  1] 
isequal(NormUnc{4},NormUnc{3}) 
ans = 
     1 
isequal(NormUnc{5},NormUnc{3}) 
ans = 
     1 
NormUnc{6} 
Uncertain Real Parameter: Name rhoNormalized, NominalValue 0, 
variability = [-1  1] 

Каждому нормированному элементу добавили 'Normalized' к его настоящему имени, чтобы избежать беспорядка. Когда нормировано,

  • Объекты ureal имеют номинальную стоимость 0, и диапазон от-1 до 1.

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

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

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

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

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

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

Похожие темы