Каждая неопределенная модель или матрица (например, 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)Если startявляется неопределенным вещественным параметром, с диапазоном [L R] и номинальное значение N, то нормирующая функция F
BαC + D,
при том свойстве, что для всех, удовлетворяющих L ≤ start ≤ R, следует, что -1 ≤ F (start ) ≤ 1, более того, F ( L) = -1, F (N ) = 0, и F ( R) = 1. Если номинальное значение центрировано в диапазоне, то легко сделать вывод, что
− LC = 1D = 0.
Это оставлено в качестве упражнения алгебры для пользователя, чтобы выработать различные значения для A, B, C и D если номинальное значение не центрировано.
ultidyn)Если E является неопределенной, ограниченной по коэффициенту усиления, линейной, инвариантной по времени динамической неопределенностью с β, связанной по коэффициенту усиления, то нормализующая функция F равна
1βE.
Если E является неопределенной положительной-действительной, линейной, инвариантной во времени динамической неопределенностью с положительной привязкой β, то нормализующая функция F равна
α (E − β2I)] − 1
где α = 2 | β | + 1.
umargin)Для umargin блок Q (s), нормализованное значение F (Q (s)) = δ (s), где δ (s) - динамическая неопределенность, ограниченная коэффициентом усиления, нормализованная так, что она всегда изменяется в пределах единичного диска (||δ||∞ < 1). Другими словами, F (Q) является единичным коэффициентом усиления.ultidyn неопределенный элемент.
Фактические значения Q соответствуют единице усиления δ через параметризацию
[(1 + E )/2] δ (s).
Дополнительные сведения об этой параметризации см. в разделе umargin.
ucomplex)Нормирующая функция для неопределенного комплексного параметра, с номинальным значением C и радиусом γ, равна
C).
umat)Нормирующая функция для неопределенных комплексных матриц H с номинальным значением N и весами WL и WR составляет
− N) WR − 1
Возьмите неопределенный объект A, зависящий от:
Неопределенные реальные параметры ρ1,...,ρNρ
Неопределенные сложные параметры ξ1,...,ξNξ
Неопределенные комплексные матрицы H1,...,HNH
Неопределенная линейная, инвариантная по времени динамика, ограниченная коэффициентом усиления E1,...,ENE
Неопределенная положительно-реальная линейная, инвариантная во времени динамика P1,...,PNP
Неопределенный коэффициент усиления и фазовый Q1,...,QNQ
Для указания этой зависимости запишите A («» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» Используяlftdata, A может быть разложен на две отдельные части: M и Δ (
M является определенным (т.е. если A является uss, то М - ss; если A является umat, то М - double; если A является ufrd, то М - frd).
Δ всегда является umat, в зависимости от тех же неопределенных элементов, что и A, с диапазонами, границами, весами и т.д., без изменений.
Форма Δ является блок-диагональной, с элементами, составленными из нормирующих функций, действующих на отдельные неопределенные элементы:
00000F (Q)].
(ρ,ξ, H, E, P, Q) дан линейным фракционным преобразованием M и Δ (ρ,ξ, H, E, P, Q),
−1M12.
Порядок нормированных элементов, составляющих A не является простым порядком, показанным выше. Фактически это тот же порядок, что и в команде fieldnames(M.Uncertainty), как показано в следующем примере.
Вы разлагаете неопределенную модель на фиксированную определенную деталь и нормализуете неопределенную деталь с помощью 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, вы можете иметь прямой доступ ко всем деталям линейного дробного преобразования, и может работать на уровне теорем и алгоритмов, которые лежат в основе методов.
actual2normalized | lftdata | normalized2actual | uscale