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 с M неопределенные элементы. Результаты

[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

struct с полями M. Имена полей являются именами неопределенных элементов 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(σmax(MΔM-1))σmax(Δ)1

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

Создайте ucomplexm 2 на 2 элемент с номинальной стоимостью 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