Вычислите границы на структурированном сингулярном значении (µ)
bounds = mussv(M,BlockStructure) [bounds,muinfo] = mussv(M,BlockStructure) [bounds,muinfo] = mussv(M,BlockStructure,Options) [ubound,q] = mussv(M,F,BlockStructure) [ubound,q] = mussv(M,F,BlockStructure,'s')
bounds = mussv(M,BlockStructure)
вычисляет верхние и нижние границы на структурированное сингулярное значение или µ, для данной блочной структуры. M
double
массив, frd
модель или пространство состояний (ss
) модель.
Если M
массив N-D (с N
≥ 3), затем расчет выполняется pointwise вдоль третьих и более высоких измерений массива.
Если M
frd
модель, затем расчеты выполняются pointwise в частоте (а также любые измерения массива).
Если M
ss
модель, расчеты выполняются с помощью алгоритмов пространства состояний. Частоты адаптивно выбраны, и верхние границы, как гарантируют, будут держать над каждым интервалом между частотами. M
должна быть единая система, без измерений массива.
BlockStructure
матрица, задающая блочную структуру возмущения. BlockStructure
имеет 2 столбца, и столько же строк сколько блоки неопределенности в структуре возмущения. i-th строка BlockStructure
задает размерности i'th блока возмущения.
Если BlockStructure(i,:) = [-r 0]
, затем i-th блок является r
- r
повторное, диагональное действительное скалярное возмущение;
если BlockStructure(i,:) = [r 0]
, затем i-th блок является r
- r
повторное, диагональное комплексное скалярное возмущение;
если BlockStructure(i,:) = [r c]
, затем i-th блок является r
- c
комплексное возмущение полного блока.
Если BlockStructure
не использован, его значением по умолчанию является ones(size(M,1),2)
, который подразумевает структуру возмущения всех комплексных блоков 1 на 1. В этом случае, если size(M,1)
не равняется size(M,2)
, ошибка заканчивается.
Если M
двумерная матрица, затем bounds
1-by-2
массив, содержащий верхнее (первый столбец) и ниже (второй столбец) связанный структурированного сингулярного значения M
. Для всех матриц Delta
с диагональной блоком структурой, заданной BlockStructure
и с нормой меньше, чем 1/bounds(1)
(верхняя граница), матричный I - M*Delta
не сингулярно. Кроме того, существует матричный DeltaS
с диагональной блоком структурой, заданной BlockStructure
и с нормой равняются 1/bounds(2)
(нижняя граница), для который матричный I - M*DeltaS
сингулярно.
Формат используется в 3-м выходном аргументе от lftdata
также приемлемо для описания блочной структуры.
Если M
frd
, расчеты всегда выполняются pointwise в частоте. Выходной аргумент bounds
1-by-2 frd
из верхних и нижних границ на каждой частоте. Обратите внимание на то, что bounds.Frequency
равняется M.Frequency
.
Если M
массив N-D (любой double
или frd
), верхние и нижние границы вычисляются pointwise вдоль 3-х и более высоких измерений массива (а также pointwise в частоте, для frd
). Например, предположите тот size(M)
r ×c×d1×...×dF. Затем size(bounds)
1×2×d1×...×dF. Используя одно обозначение индекса, bounds(1,1,i)
верхняя граница для структурированного сингулярного значения M(:,:,i)
, и bounds(1,2,i)
нижняя граница для структурированного сингулярного значения M(:,:,i)
. Здесь, любой i
между 1 и d 1 · d 2... dF (продукт dk) был бы допустим.
Если M
ss
модель, bounds
возвращен как frd
модель.
bounds = mussv(M,BlockStructure,Options)
задает опции расчета. Options
вектор символов, содержа любую комбинацию следующих символов:
Опция | Значение |
---|---|
'a' | Верхняя граница с самой большой точностью, с помощью решателя LMI. Это - поведение по умолчанию, когда количество переменных решения в рамках масштабирований D/G меньше 45. |
'f' | Обеспечьте быструю верхнюю границу (обычно не столь трудный как значение по умолчанию) |
'G' | Обеспечьте верхнюю границу, чтобы использовать градиентный метод. Это - поведение по умолчанию, когда количество переменных решения в рамках масштабирований D/G больше или равно 45. |
'U' | Верхняя граница “только” (нижняя граница использует быстрый/дешевый алгоритм). |
'g | Используйте основанный на усилении метод нижней границы многократно. Значение Если все блоки неопределенности описаны |
'i' | Повторно инициализируйте расчет нижней границы в каждой новой матрице (только релевантный, если |
| Случайным образом повторно инициализируйте итерацию нижней границы многократно. |
'p' | Используйте метод итерации степени, чтобы вычислить нижнюю границу. Когда по крайней мере один из блоков неопределенности описан |
's' | Подавите (тихую) информацию о прогрессе. |
'd' | Выведите предупреждения. |
'x' | Уменьшите итерации в расчете нижней границы (быстрее, но не столь трудные как значение по умолчанию). Используйте |
'an' | То же самое как |
'o' | Запустите “старые” алгоритмы от версии 3.1.1 и прежде. Включенный, чтобы позволить точную репликацию более ранних вычислений. |
[bounds,muinfo] = mussv(M,BlockStructure)
возвращает muinfo
, структура, содержащая более подробную информацию. Информация в muinfo
должен быть извлечен с помощью mussvextract
.
ubound = mussv(M,F,BlockStructure)
вычисляет верхняя граница на обобщенном структурированном сингулярном значении (обобщил µ) для данной блочной структуры. M
double
или frd
объект. M
и BlockStructure
как прежде. F
дополнительное (double
или frd
).
ubound = mussv(M,F,BlockStructure,'s')
добавляет опция, чтобы запуститься тихо. Другие опции проигнорированы для обобщенных µ проблем.
Обратите внимание на то, что в обобщенных структурированных расчетах сингулярного значения, только верхняя граница вычисляется. ubound
верхняя граница обобщенного структурированного сингулярного значения парного (M,F)
, относительно диагональной блоком неопределенности, описанной BlockStructure
. Следовательно, ubound
1 на 1 (с дополнительной зависимостью массивов, в зависимости от M
и F
). Для всех матриц Delta
с диагональной блоком структурой, заданной BlockStructure
и norm<1/ubound
, матричный [I-Delta*M;F]
как гарантируют, не потеряет ранг столбца. Это проверяется матричным Q
, который удовлетворяет mussv(M+Q*F,BlockStructure,'a')<=ubound
.
Смотрите mussvextract
для подробного примера структурированного сингулярного значения.
Простой пример для обобщенного структурированного сингулярного значения может быть сделан со случайными комплексными матрицами, иллюстрируя отношение между верхней границей для µ и обобщен µ, а также то, что верхняя граница для обобщенного µ прибывает из оптимизированной µ верхней границы.
M
комплексная матрица 5 на 5 и F
комплекс 2 5 матрица. Блочная структура BlockStructure
неопределенный действительный параметр δ1, неопределенный действительный параметр δ2, неопределенный комплексный параметр δ3 и дважды повторенный неопределенный комплексный параметр δ4.
rng(929,'twister') M = randn(5,5) + sqrt(-1)*randn(5,5); F = randn(2,5) + sqrt(-1)*randn(2,5); BlockStructure = [-1 0;-1 0;1 1;2 0]; [ubound,Q] = mussv(M,F,BlockStructure); bounds = mussv(M,BlockStructure); optbounds = mussv(M+Q*F,BlockStructure);
Количества optbounds(1)
и ubound
должно быть чрезвычайно близким, и значительно ниже, чем bounds(1)
и bounds(2)
.
[optbounds(1) ubound]
ans = 2.2070 2.1749
[bounds(1) bounds(2)]
ans = 4.4049 4.1960
Нижняя граница вычисляется с помощью метода степени, Янга и Дойла, 1990, и Паккард и др. 1988, и верхняя граница вычисляется с помощью сбалансированного/AMI метода, Янг и др., 1992, для вычисления верхней границы от Фэна и др., 1991.
Питер Янг и Мэтт Ньюлин записали исходную функцию.
Алгоритм степени нижней границы от Янга и Дойла, 1990, и Паккард и др. 1988.
Верхняя граница является реализацией связанного от Фэна и др., 1991, и описана подробно в Янге и др., 1992. В расчете верхней границы матрица сначала сбалансирована с помощью любого изменение метода Осборна (Осборн, 1960) обобщенный, чтобы обработать повторенный скаляр и полные блоки или подход Крыльца. Это генерирует стандартную верхнюю границу для связанного комплекса µ проблема. Метод собственного вектора Крыльца основан на идее Сафонова, (Сафонов, 1982). Это дает точный расчет µ для положительных матриц со скалярными блоками, но сопоставимо с Осборном на общих матрицах. И методы Крыльца и Осборна были изменены, чтобы обработать повторенный скаляр и полные блоки. Крыльцо быстрее для маленьких матриц, но имеет темп роста n 3, по сравнению с меньше, чем n 2 для Осборна. Это происходит частично из-за MATLAB
реализация, которая значительно способствует Крыльцу. Значение по умолчанию должно использовать Крыльцо в простых блочных структурах и Осборна для более сложных блочных структур. Последовательность улучшений верхней границы затем сделана на основе различных эквивалентных форм верхней границы. Много методов спуска используются, которые используют структуру проблемы, завершающей оптимизацией LMI общего назначения (Бойд и др.), 1993, чтобы получить окончательный ответ.
Оптимальный выбор Q
(чтобы минимизировать верхнюю границу) в обобщенной µ проблеме решен путем переформулировки оптимизации в полуопределенную программу (Паккард и др., 1991).
[1] Бойд, S. и Л. Эль Гаоуи, “Методы центров минимизации обобщенных собственных значений”, Линейная алгебра и Ее Приложения, Издание 188-189, 1993, стр 63–111.
[2] Вентилятор, M., А. Титс и Дж. Дойл, “Робастность в присутствии смешанной параметрической неопределенности и несмоделированной динамики”, Транзакции IEEE на Автоматическом управлении, издании AC-36, 1991, стр 25–38.
[3] Осборн, E., “При предварительном создании условий матриц”, Журнал Связанных Компьютерных Машин, Издания 7, 1960, стр 338–345.
[4] Паккард, A.K., М. Фэн и Дж. Дойл, “Метод степени для структурированного сингулярного значения”, Proc. 1 988 Конференций по IEEE по Управлению и Решению, декабрь 1988, стр 2132–2137.
[5] Сафонов, M., “Запасы устойчивости для по диагонали встревоженных многомерных систем с обратной связью”, IEEE Proc., Издание 129, Часть D, 1992, стр 251–256.
[6] Молодой, P. и Дж. Дойл, “Расчет с действительной и комплексной неопределенностью”, Продолжения 29-й Конференции по IEEE по Решению и Управлению, 1990, стр 1230–1235.
[7] Молодой, P., М. Ньюлин и Дж. Дойл, “Практический расчет смешанной задачи”, Продолжения американской Конференции по Управлению, 1992, стр 2190–2194.
mussvextract
| robgain
| robstab
| wcdiskmargin
| wcgain