В этом примере показано, как вычислить приближение системы с уменьшенным порядком, когда система имеет нестабильные или почти нестабильные полюса.
При вычислении аппроксимации с уменьшенным порядком balred команда (или приложение Model Reducer) не устраняет нестабильные полюса, поскольку это существенно изменит динамику системы. Вместо этого программное обеспечение разлагает модель на стабильные и нестабильные части и уменьшает стабильную часть модели.
Если модель имеет почти нестабильные полюса, может потребоваться, чтобы аппроксимация с уменьшенным порядком сохранила эту динамику. В этом примере показано, как использовать Offset вариант balred для сохранения полюсов, близких к стабильно-нестабильной границе. Такой же результат можно получить в приложении «Редуктор модели» на вкладке «Сбалансированное усечение» в разделе «Параметры» с помощью поля «Смещение», как показано на рисунке.

Загрузите модель с неустойчивыми и почти неустойчивыми полюсами.
load('reduce.mat','gasf35unst')
gasf35unst является 25-государственной моделью SISO с двумя нестабильными полюсами (Re (s) > 0). Осмотрите системные полюса, чтобы найти полюса, почти нестабильные.
pzplot(gasf35unst) axis([-0.0015 0.0015 -0.0005 0.0005])

График полюс-ноль показывает несколько полюсов (отмечены x), которые падают в левой полуплоскости, но относительно близко к воображаемой оси. Это почти нестабильные полюса. Два из них находятся в пределах 0,0005 от нестабильности. Ещё три попадают в пределы 0,001 нестабильности.
Изучите график сингулярного значения Ханкеля модели.
hsvplot(gasf35unst)

На графике показаны два нестабильных режима, но невозможно легко определить энергетический вклад почти неустойчивых полюсов. В приложении можно уменьшить модель, не отбрасывая полюса, ближайшие к нестабильности, даже если они имеют относительно низкую энергию. Используйте Offset вариант balred для вычисления системы с уменьшенным порядком, которая сохраняет два стабильных полюса, ближайших к воображаемой оси. Offset задает границу между полюсами, balred может отбросить, и полюса, которые balred должен сохранять (относиться как нестабильный).
opts = balredOptions('Offset',0.0005);
gasf_arr = balred(gasf35unst,[10 15],opts);Обеспечение balred массив целевых порядков аппроксимации [10 15] причины balred для возврата массива аппроксимированных моделей. Множество gasf_arr содержит две модели, аппроксимацию 10-го и 15-го порядка gasf35unst. В обоих приближениях balred не отбрасывает два нестабильных полюса или два почти нестабильных полюса.
Сравните аппроксимации уменьшенного порядка с исходной моделью.
bodeplot(gasf35unst,gasf_arr,'r--')
Аппроксимация 15-го порядка является хорошим соответствием частотной области исходной модели. Однако приближение 10-го порядка показывает изменения высокочастотной динамики, которые могут быть слишком большими, чтобы быть приемлемыми. Аппроксимация 15-го порядка, вероятно, является лучшим выбором.