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