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

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

со свойством это для всего ρ, удовлетворяющего L ≤ ρ ≤ R, из этого следует, что –1 ≤ F (ρ) ≤ 1, кроме того, F (L) = –1, F (N) = 0, и F (R) = 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|β | + 1.

Неопределенное усиление и фаза (umargin)

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

  • Δ всегда a 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.

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

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

| | |

Похожие темы