getSectorIndex

Вычислите индекс конического сектора линейной системы

Описание

пример

RX = getSectorIndex(H,Q) вычисляет относительный индекс RX для линейной системы H и конический сектор задан Q. Когда RX <1, все выходные траектории y (t) = Hu (t) лежат в секторе, заданном:

0Ty(t)TQy(t)dt<0,

для всего T ≥ 0.

getSectorIndex может также проверять, лежат ли все траектории ввода-вывода {u (t), y (t)} линейной системы G в секторе, заданном:

0T(y(t)u(t))TQ(y(t)u(t))dt<0,

для всего T ≥ 0. Для этого используйте getSectorIndex с H = [G;I], где I = eyes(nu), и nu количество входных параметров G.

Для получения дополнительной информации о границах сектора и относительном индексе, займитесь Границами Сектора и индексами Сектора.

RX = getSectorIndex(H,Q,tol) вычисляет индекс с относительной точностью, заданной tol.

RX = getSectorIndex(H,Q,tol,fband) вычисляет индекс пассивности путем ограничения неравенств, которые задают индекс к заданному интервалу частоты. Этот синтаксис доступен только когда Q имеет столько же отрицательных собственных значений, сколько существуют входные параметры в H.

пример

[RX,FX] = getSectorIndex(___) также возвращает частоту FX в котором значение индекса RX достигается. FX установлен в NaN когда количество отрицательных собственных значений в Q отличается от количества входных параметров в H. Можно использовать этот синтаксис с любой из предыдущих комбинаций входных параметров.

[RX,FX,W1,W2,Z] = getSectorIndex(___) также возвращает разложение Q в его положительные и отрицательные части, а также спектральный факторный Z когда Q является динамическим. Когда Q матрица (постоянные границы сектора), Z = 1. Можно использовать этот синтаксис с любой из предыдущих комбинаций входных параметров.

DX = getSectorIndex(H,Q,dQ) вычисляет индекс в направлении, заданном матричным dQ. Если DX > 0, затем выходные траектории H поместитесь в конический сектор, заданный Q. Для получения дополнительной информации о направленном индексе, займитесь Границами Сектора и индексами Сектора.

Направленный индекс не доступен если H данные частотной характеристики (frd) модель.

DX = getSectorIndex(H,Q,dQ,tol) вычисляет индекс с относительной точностью, заданной tol.

Примеры

свернуть все

Протестируйте ли, в среднем, траектории ввода-вывода G(s)=(s+2)/(s+1) принадлежите в секторе, заданном:

S={(y,u):0.1u2<uy<10u2}.

На пробеле U/Y этот сектор является теневой областью следующей схемы.

Q матрицей, соответствующей этому сектору, дают:

Q=[1-(a+b)/2-(a+b)/2ab];a=0.1,b=10.

Траектория y(t)=Gu(t) находится в секторе S когда для всего T> 0,

0.10Tu(t)2<0Tu(t)y(t)dt<100Tu(t)2dt.

Проверять ли траектории G удовлетворите сектору, связанному, представленному Q, вычислите R-индекс для H = [G;1].

G = tf([1 2],[1 1]); 

a = 0.1;  b = 10;
Q = [1 -(a+b)/2 ; -(a+b)/2 a*b];

R = getSectorIndex([G;1],Q)
R = 0.4074

Этот получившийся R меньше 1, указывая, что траектории соответствуют в секторе. Значение R говорит вам, насколько плотно траектории помещаются в сектор. Это значение, R = 0.41, средние значения, что траектории поместились бы в более узкий сектор с основой 1/0.41 = в 2.4 раза меньший.

Для систем с комплексными коэффициентами, getSectorIndex может возвратить индексы в отрицании или положительной частоте в зависимости от fband вы задаете.

Загрузите модель в пространстве состояний с комплексными коэффициентами и объедините матрицу сектора.

load dataSysQ sys Q

Вычислите R-индекс и его частоту с относительной точностью 0,0001%. Кроме того, задайте fband= [1,10] вычислить индекс в интервале частоты [–10, –1] ∪ [1,10].

[R,FX] = getSectorIndex(sys,Q,1e-6,[1,10])
R = 1.5811
FX = -7.2320

В этом интервале, sys достигает индекса 1,5811 в отрицательном значении частоты-7.2320 рад/с. Используйте sectorplot построить индексы в этой области значений.

opt = sectorplotoptions;
opt.FreqScale = 'Linear';
opt.IndexScale = 'Linear';
w = linspace(-10,10,1000);
sectorplot(sys,Q,w,opt)

Figure contains an axes object. The axes object contains 2 objects of type line. This object represents sys.

Теперь вычислите индекс в интервале частоты [–5, –1] ∪ [1,5]. Для этого задайте fband= [1,5] .

[r,f] = getSectorIndex(sys,Q,1e-6,[1,5])
r = 1.4630
f = 2.2499

В этом интервале, sys достигает индекса 1,4630 в положительном значении частоты 2,2499 рад/с. Постройте индексы в этой области значений, чтобы подтвердить результат.

w = linspace(-5,5,500);
sectorplot(sys,Q,w,opt)

Figure contains an axes object. The axes object contains 2 objects of type line. This object represents sys.

Входные параметры

свернуть все

Модель, чтобы анализировать против сектора ограничивает в виде модели динамической системы, такой как a tf, ss, или genss модель. H может быть непрерывным или дискретным. Если H обобщенная модель с настраиваемыми или неопределенными блоками, getSectorIndex анализирует текущую, номинальную стоимость H.

Анализировать, лежат ли все траектории ввода-вывода {u (t), y (t)} линейной системы G в конкретном секторе, H = [G;I] использования.

Если H массив моделей, затем getSectorIndex возвращает индекс пассивности как массив, одного размера, где:

index(k) = getSectorIndex(H(:,:,k),___)

Здесь, index любой RX, или DX, В зависимости от которых входных параметров вы используете.

Геометрия сектора в виде:

  • Матрица A, для постоянной геометрии сектора. Q симметричная квадратная матрица, которая является ny на стороне, где ny количество выходных параметров H.

  • Модель LTI, для зависимой частотой геометрии сектора. Q удовлетворяет Q (s)’ = Q (–s). Другими словами, Q (s) оценивает к Эрмитовой матрице на каждой частоте.

Матричный Q должно быть неопределенным, чтобы описать четко определенный конический сектор. Неопределенная матрица имеет и положительные и отрицательные собственные значения.

Для получения дополнительной информации займитесь Границами Сектора и индексами Сектора.

Относительная точность для расчетного индекса сектора. По умолчанию допуск составляет 1%, означая, что возвращенный индекс в 1% фактического индекса.

Интервал частоты для вычисления сектора индексирует в виде массива формы [fmin,fmax] с 0 ≤ fmin <fmax. Когда вы обеспечиваете fband, getSectorIndex ограничивает заданным интервалом частоты неравенства, которые задают индекс.

Для моделей с комплексными коэффициентами, getSectorIndex вычисляет индекс в области значений [–fmax,–fmin][fmin,fmax]. В результате функция может возвратить индексы на отрицательной частоте.

Задайте частоты в модулях rad/TimeUnit, где TimeUnit TimeUnit свойство модели H динамической системы.

Направление, в котором можно вычислить направленный индекс сектора в виде неотрицательной определенной матрицы. Матричный dQ симметричная квадратная матрица, которая является ny на стороне, где ny количество выходных параметров H.

Выходные аргументы

свернуть все

Относительный индекс системы H для сектора, заданного Q, возвращенный как скалярное значение или массив, если H массив. Если RX <1, затем выходные траектории H соответствуйте в конусе Q.

Значение RX обеспечивает меру как плотно выходные траектории H соответствуйте в конусе. Позвольте следующему быть ортогональным разложением симметрической матрицы Q в его положительные и отрицательные части.

Q=W1W1TW2W2T,W1TW2=0.

(Такое разложение с готовностью получено из разложения Шура Q.) Затем RX самый маленький R, который удовлетворяет:

0Ty(t)T(W1W1TR2W2W2T)y(t)dt<0,

для всего T ≥ 0. Различный R эквивалентен корректировке наклонного угла конуса, заданного Q, пока конус не соответствует плотно вокруг выходных траекторий H. Коническое отношение основы к высоте пропорционально R.

Для получения дополнительной информации об интерпретациях относительного индекса, займитесь Границами Сектора и индексами Сектора.

Частота, в который индекс RX достигнут, возвращен как скаляр или массив если H массив. В общем случае индекс меняется в зависимости от частоты (см. sectorplot). Возвращенное значение является самым большим значением по всем частотам. FX частота, на которой это значение происходит, возвращенное в модулях rad/TimeUnit, где TimeUnit TimeUnit свойство H.

FX может быть отрицательным для систем с комплексными коэффициентами.

Положительные и негативные факторы Q, возвращенный как матрицы. Для постоянного Q, W1 и W2 удовлетворите:

Q=W1W1TW2W2T,W1TW2=0.

Бистабильная модель в факторизации Q, возвращенный как:

  • Если Q постоянная матрица, Z = 1.

  • Если Q зависимо частотой, затем Z пространство состояний (ss) смоделируйте таким образом что:

Q(jω)=Z(jω)H(W1W1TW2W2T)Z(jω).

Направленный индекс сектора системы H для сектора, заданного Q в направлении dQ, возвращенный как скалярное значение или массив, если H массив. Направленным индексом является самый большой τ, который удовлетворяет:

0Ty(t)T(Q+τdQ)y(t)dt<0,

для всего T ≥ 0.

Введенный в R2016a