Вычислить границы по структурированному сингулярному значению (в)
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), то вычисление выполняется точечно вдоль третьего и более высоких размеров массива.
Если M является frd модель, то вычисления выполняются точечно по частоте (как и любые размеры массива).
Если M является ss модель, вычисления выполняются с использованием алгоритмов состояния-пространства. Частоты адаптивно выбираются, и верхние границы гарантированно удерживаются на каждом интервале между частотами. M должна быть единой системой, без размеров массива.
BlockStructure - матрица, задающая структуру блока возмущений. BlockStructure имеет 2 столбца и столько же строк, сколько блоков неопределенности в структуре возмущений. I-й ряд BlockStructure определяет размеры i-го блока возмущений.
Если BlockStructure(i,:) = [-r 0], то i-й блок является rоколо-r повторяющееся диагональное действительное скалярное возмущение;
если BlockStructure(i,:) = [r 0], то i-й блок является rоколо-r повторяющееся диагональное комплексное скалярное возмущение;
если BlockStructure(i,:) = [r c], то i-й блок является 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 является единственным.
Формат, используемый в третьем выходном аргументе из lftdata является также приемлемым для описания блочной структуры.
Если M является frdвычисления всегда выполняются точечно по частоте. Выходной аргумент bounds является 1-by-2 frd верхней и нижней границ на каждой частоте. Обратите внимание, что bounds.Frequency равняется M.Frequency.
Если M является массивом N-D (либо double или frd), верхняя и нижняя границы вычисляются точечно вдоль 3-го и более высоких размеров массива (а также точечно по частоте, для 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 и d1· d2... dF (произведение dk) будет действительным.
Если M является ss модель, bounds возвращается как frd модель.
bounds = mussv(M,BlockStructure,Options) задает параметры вычисления. Options - символьный вектор, содержащий любую комбинацию следующих символов:
Выбор | Значение |
|---|---|
'a' | Верхняя граница с наибольшей точностью, используя решатель LMI. Это поведение по умолчанию, когда число переменных принятия решения в D/G-масштабах меньше 45. |
'f' | Сила быстрой верхней границы (как правило, не такая жесткая, как по умолчанию) |
'G' | Принудительно использовать метод градиента для верхней границы. Это поведение по умолчанию, когда число решающих переменных в D/G-масштабах больше или равно 45. |
'U' | Верхний предел «only» (нижний предел использует быстрый/дешевый алгоритм). |
'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') добавляет опцию для выполнения в автоматическом режиме. Другие опции игнорируются для обобщенных задач, связанных с,.
Следует отметить, что при обобщенных расчетах структурированных сингулярных значений вычисляется только верхняя граница. 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.
Питер Янг и Мэтт Ньюлин написали оригинальную функцию.
Алгоритм мощности нижней границы получен от Young and Doyle, 1990 и Packard et al. 1988.
Верхняя граница представляет собой реализацию связи из Fan et al., 1991, и подробно описана в Young et al., 1992. В вычислениях верхней границы матрица сначала балансируется с использованием либо варианта метода Осборна (Osborne, 1960), обобщенного для обработки повторяющихся скалярных и полных блоков, либо подхода Перрона. При этом генерируется стандартная верхняя граница для связанной с ней комплексной задачи. Метод собственного вектора Перрона основан на идее Сафонова (Safonov, 1982). Он даёт точную вычислительную для положительных матриц со скалярными блоками, но сравним с Осборном по общим матрицам. Методы Перрона и Осборна были модифицированы для обработки повторяющихся скалярных и полных блоков. Перрон быстрее для небольших матриц, но имеет скорость роста n3, по сравнению с менее чем n2 для Осборна. Это частично связано с MATLAB реализация, что в значительной степени благоприятствует Перрону. По умолчанию Perron используется для простых блочных структур, а Osborne - для более сложных блочных структур. Затем осуществляют последовательность усовершенствований верхней границы на основе различных эквивалентных форм верхней границы. Для получения окончательного ответа используется ряд приемов спуска, которые используют структуру проблемы, заканчивая оптимизацией LMI общего назначения (Boyd et al.), 1993.
Оптимальный выбор Q(чтобы свести к минимуму верхнюю границу) в обобщенной задаче, решают переформулированием оптимизации в полуопределенную программу (Packard et al., 1991).
[1] Бойд, С. и Л. Эль Гауи, «Методы центров минимизации обобщенных собственных значений», Линейная алгебра и её приложения, т. 188-189, 1993, стр. 63-111.
[2] Фан, М., А. Титс и Дж. Дойл, «Надежность при наличии смешанной параметрической неопределенности и немодированной динамики», IEEE Transactions on Automatic Control, Vol. AC-36, 1991, pp. 25-38.
[3] Осборн, Э., «О предварительной подготовке матриц», Journal of Associated Computer Machines, Vol. 7, 1960, стр. 338-345.
[4] Packard, A.K., M. Fan и J. Doyle, «Метод мощности для структурированного сингулярного значения», Proc. of 1988 IEEE Conference on Control and Decision, December 1988, pp. 2132-2137.
[5] Сафонов, М., «Пределы устойчивости для систем с многопараметрической обратной связью по диагонали», IEEE Proc., том 129, часть D, 1992, стр. 251-256.
[6] Янг, П. и Дж. Дойл, «Вычисление с реальной и сложной неопределенностью», Труды 29-й Конференции IEEE по решению и контролю, 1990, стр. 1230-1235.
[7] Янг, П., М. Ньюлин и Дж. Дойл, «Практическое вычисление смешанной проблемы», Proceedings of the American Control Conference, 1992, pp. 2190-2194.
mussvextract | robgain | robstab | wcdiskmargin | wcgain