Каждый неопределенный объект (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
со свойством это для всего ρ, удовлетворяющего L ≤ ρ ≤ R, из этого следует, что –1 ≤ F (ρ) ≤ 1, кроме того, F (L) = –1, F (N) = 0, и F(R) = 1. Если номинальная стоимость сосредоточена в области значений, то легко завершить это
Это оставляют как осуществление алгебры для пользователя разработать различные значения для A, B, C
и D
, когда номинальная стоимость не сосредоточена.
Если E является неопределенной ограниченной усилением, линейной, независимой от времени динамической неуверенностью с ограниченным усилением β, то функция нормализации F
Если E является неопределенной положительно-действительной, линейной, независимой от времени динамической неуверенностью с положительностью связанный β, то функция нормализации F
где α = 2|β | + 1.
Функция нормализации для неопределенного комплексного параметра ξ, с номинальной стоимостью C и радиусом γ,
Функция нормализации для неопределенных комплексных матриц H, с номинальной стоимостью N и весами WL и WR
В каждом случае, когда неопределенный элемент отличается в своей области значений, абсолютное значение функции нормализации (или норма, в матричном случае) отличается от 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) дан линейным дробным преобразованием M и Δ (ρ, ξ, H, E, P),
Порядок нормированных элементов, составляющих 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.
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
Даже для опытного пользователя, переменная 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'
к его настоящему имени, чтобы избежать беспорядка. Когда нормировано,
Возможные поведения Delta
и blkdiag(NormUnc{:})
являются тем же самым. Следовательно, возможные поведения A
и lft(blkdiag(NormUnc{:}),M)
являются тем же самым.
Следовательно, путем управления M, BlkStruct
и NormUnc
, продвинутый пользователь имеет прямой доступ ко всем линейным дробным деталям преобразования и может легко работать на уровне теорем и алгоритмов, которые лежат в основе методов.