В этом примере показано, как вычислить приближение уменьшаемого порядка системы, когда система имеет нестабильные или почти нестабильные полюса.
При вычислении приближения уменьшаемого порядка, balred
команда (или приложение Model Reducer) не устраняет нестабильные полюса, потому что выполнение так существенно изменило бы системную динамику. Вместо этого программное обеспечение разлагает модель на устойчивые и нестабильные части и уменьшает устойчивую часть модели.
Если ваша модель имеет почти нестабильные полюса, вы можете хотеть гарантировать, что приближение уменьшаемого порядка сохраняет эти движущие силы. В этом примере показано, как использовать Offset
опция balred
сохранить полюса, которые являются близко к устойчиво-нестабильному контуру. Можно достигнуть того же результата в приложении Model Reducer, на вкладке Balanced Truncation, в соответствии с Опциями, с помощью поля Offset, как показано:
Загрузите модель с нестабильными и почти нестабильными полюсами.
load('reduce.mat','gasf35unst')
gasf35unst
модель SISO с 25 состояниями с двумя нестабильными полюсами (Ре> 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-го порядка вероятно лучший выбор.