exponenta event banner

hsvdOptions

(Не рекомендуется) Создать набор опций для вычисления сингулярных значений Hankel и балансировки ввода/вывода

hsvdOptions не рекомендуется. Использовать balredOptions вместо этого. Дополнительные сведения см. в разделе Вопросы совместимости.

Синтаксис

opts = hsvdOptions
opts = hsvdOptions(Name,Value)

Описание

opts = hsvdOptions возвращает параметры по умолчанию для hsvd и balreal команды.

opts = hsvdOptions(Name,Value) возвращает набор опций с параметрами, указанными одним или несколькими Name,Value аргументы пары.

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

Аргументы пары «имя-значение»

Укажите пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должно отображаться внутри отдельных кавычек (' '). Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

'FreqIntervals'

Частотные интервалы для вычисления частотно-ограниченных сингулярных значений Ганкеля (balred) или сбалансированной реализации (balreal), задается как матрица с двумя столбцами. Каждая строка определяет интервал частот [fmin fmax], где fmin и fmax - неотрицательные частоты, выраженные в единицах частоты модели. Например:

  • Чтобы ограничить вычисление диапазоном от 3 рад/с до 15 рад/с, при условии, что единица измерения частоты модели равна рад/с, установите FreqIntervals кому [3 15].

  • Для ограничения вычислений двумя частотными интервалами, 3-15 рад/с и 40-60 рад/с, используйте [3 15; 40 60].

  • Задание всех частот ниже частоты отсечки fcut, использовать [0 fcut].

  • Чтобы указать все частоты выше границы, используйте [fcut Inf] в непрерывное время, или [fcut pi/Ts] в дискретное время, где Ts - время выборки модели.

Значение по умолчанию, [], не накладывает ограничений на частоту и эквивалентен [0 Inf] в непрерывное время или [0 pi/Ts] в дискретное время. Однако, если указать TimeIntervals значение, отличное от [], то этот предел переопределяет FreqIntervals = []. При указании обоих TimeIntervals значение и FreqIntervals значение, то вычисление использует объединение этих интервалов.

По умолчанию: []

'TimeIntervals'

Временные интервалы для вычисления ограниченных по времени сингулярных значений Ганкеля (balred) или сбалансированной реализации (balreal), задается как матрица с двумя столбцами. Каждая строка определяет интервал времени [tmin tmax], где tmin и tmax - неотрицательные времена, выраженные во временной единице модели. Программное обеспечение вычисляет вклад состояния в импульсную характеристику системы только в этих временных интервалах. Например:

  • Чтобы ограничить вычисление диапазоном от 3 с до 15 с, при условии, что единицей времени модели являются секунды, установите TimeIntervals кому [3 15].

  • Для ограничения вычислений двумя временными интервалами, 3-15 с и 40-60 с, используйте [3 15; 40 60].

  • Задание всех времен от нуля до времени отсечения tcut, использовать [0 tcut]. Чтобы указать время после отсечения, используйте команду [tcut Inf].

Значение по умолчанию, [], не накладывает никаких временных ограничений и эквивалентен [0 Inf]. Однако, если указать FreqIntervals значение, отличное от [], то этот предел переопределяет Timeintervals = []. При указании обоих TimeIntervals значение и FreqIntervals значение, то вычисление использует объединение этих интервалов.

'SepTol'

Максимальная потеря значения точности при стабильном и нестабильном разложении. Для моделей с неустойчивыми полюсами balred сначала извлекает стабильную динамику с помощью stabsep. Использовать 'SepTol'для управления точностью разложения.

Дополнительные сведения см. в разделе balredOptions.

По умолчанию: SepTol = 'auto'

'Offset'

Смещение для стабильной/нестабильной границы. Положительное скалярное значение. В стабильном/нестабильном разложении стабильный член включает только полюса, удовлетворяющие:

  • Re(s) < -Offset * max(1,|Im(s)|) (Непрерывное время)

  • |z| < 1 - Offset (Дискретное время)

Увеличение значения Offset для обработки полюсов вблизи границы устойчивости как нестабильных.

По умолчанию: 1e-8

Дополнительные сведения о параметрах и их влиянии на расчет см. в разделе balredOptions. Вклад состояний, ограниченный по времени и частоте, вычисляют, используя ограниченную по времени и частоте управляемость и наблюдаемость Gramians, как описано в gram и в [1].

Примеры

свернуть все

Вычислите сингулярные значения Ханкеля системы, заданные следующим образом:

sys = (s + 0,5) (s + 10-6) (s + 2)

Используйте Offset опция форсирования hsvd исключить полюс при s = 10-6 из стабильного члена стабильного/нестабильного разложения.

sys = zpk(-.5,[-1e-6 -2],1); 
opts = hsvdOptions('Offset',.001); 
hsvd(sys,opts)
ans = 2×1

       Inf
    0.1875

На сюжете видно, что одно состояние рассматривается как нестабильное. hsvd вычисляет только энергетические вклады стабильных состояний.

Вычислите сингулярные значения Ханкеля модели с низкочастотной и высокочастотной динамикой. Фокусируйте расчет на высокочастотных режимах.

Загрузите модель и проверьте ее частотную характеристику.

load modeselect Gms
bodeplot(Gms)

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents Gms. Axes 2 contains an object of type line. This object represents Gms.

Gms имеет два набора резонансов, один на относительно низкой частоте, а другой на относительно высокой частоте. Вычислите сингулярные значения Ханкеля высокочастотных режимов, исключая вклад энергии в низкочастотную динамику. Для этого используйте hsvdOptions для задания интервала частот выше 30 рад/с.

opts = hsvdOptions('FreqInterval',[30 Inf]);
hsvd(Gms,opts)
ans = 18×1
10-4 ×

    0.6237
    0.4558
    0.3183
    0.2468
    0.0895
    0.0847
    0.0243
    0.0028
    0.0000
    0.0000
      ⋮

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2021a

Ссылки

[1] Гавронски, У. и Дж. Н. Жуанг. «Сокращение модели в ограниченных интервалах времени и частоты». Международный журнал системной науки. Том 21, номер 2, 1990, стр. 349-376.

См. также

| | |

Представлен в R2010a