exponenta event banner

wcnorm

Наихудшая норма неопределенной матрицы

Синтаксис

maxnorm = wcnorm(m)
[maxnorm,wcu] = wcnorm(m)
[maxnorm,wcu] = wcnorm(m,opts)
[maxnorm,wcu,info] = wcnorm(m)
[maxnorm,wcu,info] = wcnorm(m,opts)

Описание

Норма неопределенной матрицы обычно зависит от значений ее неопределенных элементов. Определение максимальной нормы по всем допустимым значениям неопределенных элементов называется анализом наихудших норм. Максимальная норма называется наихудшей нормой.

Как и в случае других инструментов анализа неопределенной системы, вычисляются только границы нормы наихудшего случая. Точное значение наихудшей нормы гарантированно лежит между этими верхней и нижней границами.

Основной синтаксис

Предположим mat является umat или uss с М неопределенными элементами. Результаты

[maxnorm,maxnormunc] = wcnorm(mat) 

maxnorm - структура со следующими полями.

Область

Описание

LowerBound

Нижняя граница для наихудшей нормы, положительный скаляр.

UpperBound

Верхняя граница для наихудшей нормы, положительный скаляр.

maxnormunc - структура, которая включает в себя значения неопределенных элементов и максимизирует матричную норму. Есть M имен полей, которые являются именами неопределенных элементов mat. Значение каждого поля является соответствующим значением неопределенного элемента, так что при совместном объединении приводит к значению нормы в maxnorm.LowerBound. Следующая команда показывает норму:

 norm(usubs(mat,maxnormunc)) 

Основной синтаксис с третьим выходным аргументом

Третий выходной аргумент предоставляет информацию о чувствительности нормы наихудшего случая к неопределенным диапазонам элементов.

[maxnorm,maxnormunc,info] = wcnorm(mat) 

Третий выходной аргумент info - структура со следующими полями:

Область

Описание

Model

Индекс модели с наибольшим коэффициентом усиления (когда mat - массив неопределенных матриц)

WorstPerturbation

Структура значений неопределенности наихудшего случая. Поля info.WorstPerturbation являются именами неопределенных элементов в mat, и каждое поле содержит значение наихудшего варианта соответствующего элемента.

Sensitivity

A struct с M полями. Fieldnames являются названиями неопределенных элементов sys. Значения полей являются положительными числами, каждая запись указывает локальную чувствительность наихудшей нормы в maxnorm.LowerBound ко всем диапазонам неопределенности отдельных неопределенных элементов. Например, значение 25 указывает, что если диапазон неопределенности увеличен на 8%, то наихудшая норма должна увеличиться примерно на 2%. Если Sensitivity имущества wcOptions объект - 'off', значения: NaN.

BadUncertainValues

То же, что и WorstPerturbation. Включен для совместимости с R2016a и более ранними версиями.
ArrayIndexТо же, что и Model. Включен для совместимости с R2016a и более ранними версиями.

Примеры

свернуть все

Создайте неопределенную матрицу и вычислите наихудшую норму матрицы и ее обратную. Эти вычисления позволяют точно оценить наихудшее или наибольшее значение номера условия матрицы.

a = ureal('a',5,'Range',[4 6]); 
b = ureal('b',3,'Range',[2 10]); 
c = ureal('c',9,'Range',[8 11]); 
d = ureal('d',1,'Range',[0 2]); 

M = [a b;c d];
Mi = inv(M);

maxnormM = wcnorm(M)
maxnormM = struct with fields:
    LowerBound: 14.7199
    UpperBound: 14.7227

maxnormMi = wcnorm(Mi)
maxnormMi = struct with fields:
    LowerBound: 2.5963
    UpperBound: 2.5968

Номер условия M должно быть меньше произведения двух верхних границ для всех значений неопределенных элементов M. И наоборот, номер условия наибольшего значения M должно быть не менее номера условия номинального значения M. Вычислите эти границы для наихудшего значения номера условия.

condUpperBound = maxnormM.UpperBound*maxnormMi.UpperBound; 
condLowerBound = cond(M.NominalValue); 
[condLowerBound condUpperBound]
ans = 1×2

    5.0757   38.2312

Диапазон между этими нижними и верхними границами довольно велик. Можно получить более точную оценку. Напомним, что номер условия матрицы n-by-m M может быть выражено как оптимизация, где свободная, ограниченная нормой матрица Δ пытается выровнять коэффициенты усиления M и inv(M):

δ (M) =maxΔ∈Cm×m (startmax (MΔM-1)) δ max (Δ) ≤1

Если M является неопределенным, то номер условия наихудшего случая включает дальнейшую максимизацию по возможным значениям M. Поэтому можно вычислить номер условия худшего случая неопределенной матрицы с помощью ucomplexm неопределенный элемент и использование wcnorm для осуществления максимизации.

Создать 2 на 2 ucomplexm элемент с номинальным значением 0.

Delta = ucomplexm('Delta',zeros(2,2));

Диапазон значений, представленных Delta включает в себя матрицы 2 на 2 с максимальным сингулярным значением меньше или равным 1.

Создание выражения с участием M, Delta, и inv(M).

H = M*Delta*Mi;
opt = wcOptions('MussvOptions','m5');
[maxKappa,wcu,info] = wcnorm(H,opt);
maxKappa
maxKappa = struct with fields:
    LowerBound: 26.8406
    UpperBound: 38.2349

Убедитесь, что значения в wcu сделать номер условия таким большим, как maxKappa.LowerBound.

cond(usubs(M,wcu))
ans = 26.9629

Алгоритмы

Посмотрите wcgain.

См. также

| |

Представлен до R2006a