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