Вычисление ограничений по структурированному сингулярному значению (
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)
вычисляет верхнюю и нижнюю границы структурированного сингулярного значения, или u, для заданного блока структуры. M
является double
массив, frd
модель, или пространство состояний (ss
) модель.
Если M
- N-D массив (с N
≥ 3), затем расчет выполняется точечно по третьему и более высокому измерениям массива.
Если M
является frd
модель, затем расчеты выполняются точечно по частоте (как и любые измерения массива).
Если M
является ss
модель, расчеты выполняются с использованием алгоритмов пространства состояний. Частоты выбираются адаптивно, и верхние границы гарантированно удерживаются на каждом интервале между частотами. M
должна быть одной системой, без измерений массива.
BlockStructure
является матрицей, задающей структуру блока возмущения. BlockStructure
имеет 2 столбца и столько строк, сколько блоков неопределенности в структуре возмущения. Самая i -я строка BlockStructure
определяет размерности i-го блока возмущений.
Если BlockStructure(i,:) = [-r 0]
, тогда i-й блок является r
-by- r
повторное, диагональное действительное скалярное возмущение;
если BlockStructure(i,:) = [r 0]
, тогда i-й блок является r
-by- r
повторное диагональное комплексное скалярное возмущение;
если BlockStructure(i,:) = [r c]
, тогда i-й блок является r
-by- 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
, расчеты всегда выполняются точечно по частоте. Выходной аргумент bounds
является 1-by-2 frd
верхней и нижней границы на каждой частоте. Обратите внимание, что bounds.Frequency
равен M.Frequency
.
Если M
является N-D массивом (либо double
или frd
), верхняя и нижняя границы вычисляются точечно вдоль 3-ьих и более высоких измерений массива (а также точечно по частоте, для frd
). Например, предположим, что size(M)
<reservedrangesplaceholder4> × <reservedrangesplaceholder3> × <reservedrangesplaceholder2> 1×...× dF. Затем size(bounds)
1×2× <reservedrangesplaceholder2> 1×...× 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' | Повторно инициализируйте нижние ограниченные расчеты в каждой новой матрице (релевантно только если |
'm | Случайным образом повторно инициализируйте нижнюю связанную итерацию несколько раз. |
'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')
добавляет опцию для бесшумного выполнения. Другие опции проигнорированы для обобщенных задач .r.
Обратите внимание, что в обобщённых структурированных расчетах сингулярных значений вычисляется только верхняя граница. 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
Нижняя граница вычисляется с помощью метода степени Young and Doyle, 1990 и Packard et al. 1988, и верхняя граница вычисляется с помощью метода сбалансированного/AMI, Young et al., 1992, для вычисления верхней границы от Fan et al., 1991.
Питер Янг и Мэтт Ньюлин написали оригинальную функцию.
Нижняя граница алгоритма степени получена из Янга и Дойла, 1990 и Packard et al. 1988.
Верхняя граница является реализацией границы от Fan et al., 1991, и подробно описана в Young et al., 1992. В верхних границах расчета матрица сначала сбалансирована с помощью изменения метода Осборна (Osborne, 1960), обобщенной для обработки повторных скалярных и полных блоков, или подхода Перрона. Это генерирует стандартную верхнюю границу для связанной комплексной задачи Метод собственного вектора Перрона основан на идее Сафонова, (Сафонов, 1982). Это даёт точный расчет .rдля положительных матриц со скалярными блоками, но сопоставимо с Осборном на общих матрицах. Методы Перрона и Осборна были изменены для обработки повторных скалярных и полных блоков. Перрон быстрее для малых матриц, но имеет скорость роста n3, по сравнению с менее чем n2 для Осборна. Отчасти это связано с MATLAB
реализация, которая очень благоприятствует Perron. По умолчанию является использование Перрона для простых блочных структур и Осборна для более сложных блочных структур. Последовательность улучшений верхней границы затем выполняется на основе различных эквивалентных форм верхней границы. Используется ряд методов спуска, которые используют структуру задачи, завершая оптимизацией LMI общего назначения (Boyd et al.), 1993, чтобы получить окончательный ответ.
Оптимальный выбор Q
(чтобы минимизировать верхнюю границу) в обобщенной задаче, решается путем переформулирования оптимизации в полуопределенную программу (Packard et al., 1991).
[1] Boyd, S. and L. El Ghaoui, «Methods of centers минимизация generalized eigenvalues», Линейная Алгебра and Its Applications, Vol. 188-189, 1993, pp. 63-111.
[2] Fan, M., A. Tits, and J. Doyle, «Robustness in the mixed parametric firety and unmodeled dynamics», IEEE Transactions on Automatic Control, Vol. AC-36, 1991, pp. 25-38.
[3] Osborne, E., «On preconditioning of matrices», Journal of Associated Computer Machines, Vol. 7, 1960, pp. 338-345.
[4] Packard, A.K., M. Fan and J. Doyle, «A power method for the structured сингулярное значение», Proc. of 1988 IEEE Conference on Control and Decision, December 1988, pp. 2132-2137.
[5] Сафонов, М. «Запасов устойчивости для диагонально возмущенных многопараметрических систем обратной связи», IEEE Proc., Vol. 129, Part D, 1992, pp. 251-256.
[6] Янг, П. и Дж. Дойл, «Расчет с реальными и сложными неопределенностями», Материалы 29-й Конференции IEEE по принятию решений и контролю, 1990, стр. 1230-1235.
[7] Young, P., M. Newlin, and J. Doyle, «Practical computation of the mixed problem», Proceedings of the American Control Conference, 1992, pp. 2190-2194.
mussvextract
| robgain
| robstab
| wcdiskmargin
| wcgain