hsvd

(Не рекомендуемый) сингулярные значения Ханкеля динамической системы

hsvd не рекомендуется. Использовать balred вместо этого. Для получения дополнительной информации см. раздел Вопросов совместимости.

Синтаксис

hsv = hsvd(sys)
hsv = hsvd(sys,opts)
[hsv,baldata] = hsvd(___)
hsvd(___)

Описание

hsv = hsvd(sys) вычисляет сингулярные значения Ханкеля hsv динамической системы sys. В координатах состояния, которые выравнивают передачу энергии между входами и состояниями между выходами, сингулярные значения Ханкеля измеряют вклад каждого состояния в поведение ввода/вывода. Сингулярные значения Ханкеля предназначены для того, чтобы смоделировать порядок, каковы сингулярные значения для ранга матрицы. В частности, малые состояния сигналов сингулярных значений Ханкеля, которые могут быть отброшены, чтобы упростить модель (см. balred).

Для моделей с нестабильными полюсами, hsvd вычисляет только сингулярные значения Ханкеля стабильной части и записи hsv соответствующие нестабильным режимам устанавливаются в Inf.

hsv = hsvd(sys,opts) вычисляет сингулярные значения Ханкеля, используя опции, которые вы задаете используя hsvdOptions. Опции включают опции смещения и допуска для вычисления стабильно-нестабильных разложений. Опции также позволяют вам ограничить расчет HSV энергетическими вкладами в течение определенного временного и частотного интервалов. Посмотрите balredOptions для получения дополнительной информации.

[hsv,baldata] = hsvd(___) возвращает дополнительные данные для ускорения сокращения порядка модели. Можно использовать этот синтаксис с любой из предыдущих комбинаций входных параметров.

hsvd(___) отображение графика сингулярных значений Ханкеля.

Примеры

свернуть все

Создайте систему со стабильным полюсом очень близко к 0 и отобразите сингулярные значения Ханкеля.

sys = zpk([1 2],[-1 -2 -3 -10 -1e-7],1);
hsv = hsvd(sys)
hsv = 5×1
105 ×

    1.6667
    0.0000
    0.0000
    0.0000
    0.0000

Заметьте доминирующее сингулярное значение Ханкеля с величиной 105, который настолько велик, что значащие цифры других режимов не отображаются. Это значение связано с почти нестабильным режимом в s=10-7. Используйте 'Offset' опция рассматривать этот режим как нестабильный.

opts = hsvdOptions('Offset',1e-7);
hsvu = hsvd(sys,opts)
hsvu = 5×1

       Inf
    0.0688
    0.0138
    0.0024
    0.0001

Сингулярное значение Ханкеля режимов, которые нестабильны или рассматриваются как нестабильные, возвращается как Inf. Создайте график сингулярного значения Ханкеля, при этом рассматривая этот режим как нестабильный.

hsvd(sys,opts)
ans = 5×1

       Inf
    0.0688
    0.0138
    0.0024
    0.0001

Нестабильный режим показан красным цветом на графике.

По умолчанию hsvd использует линейную шкалу. Чтобы переключить график в шкалу журнала, щелкните правой кнопкой мыши по графику и выберите Y Scale > Log. Для получения информации о программно изменяющихся свойствах графиков HSV смотрите hsvplot.

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

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

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
      ⋮

Совет

Чтобы создать график Ханкеля с сингулярным значением с большей гибкостью, чтобы программно настроить график, используйте hsvplot.

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

расширить все

Не рекомендуемый запуск в R2021a

См. также

| | |

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