Аппроксимированная модель с нестабильным или почти нестабильным полюсом

В этом примере показано, как вычислить приближение уменьшаемого порядка системы, когда система имеет нестабильные или почти нестабильные полюса.

При вычислении приближения уменьшаемого порядка, 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])

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

Диаграмма нулей и полюсов показывает несколько полюсов (отмеченный x) то падение левой полуплоскости, но относительно близко к мнимой оси. Это почти нестабильные полюса. Два из них находятся в пределах 0.0005 из нестабильности. Еще три находятся в пределах 0.001 из нестабильности.

Исследуйте график сингулярного значения Ганкеля модели.

hsvplot(gasf35unst)

Figure contains an axes object. The axes object with title Hankel Singular Values and Approximation Error contains 3 objects of type bar, line. These objects represent Unstable modes, Stable modes, Absolute error bound.

График показывает два нестабильных режима, но вы не можете легко определить энергетический вклад почти нестабильных полюсов. В вашем приложении вы можете хотеть уменьшать модель, не отбрасывая те полюса, самые близкие к нестабильности, даже если они имеют относительно низкую энергию. Используйте 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--')

Figure contains 2 axes objects. Axes object 1 contains 3 objects of type line. These objects represent gasf35unst, gasf\_arr. Axes object 2 contains 3 objects of type line. These objects represent gasf35unst, gasf\_arr.

15-е приближение порядка является хорошим соответствием частотного диапазона к исходной модели. Однако приближение 10-го порядка показывает изменения в высокочастотной динамике, которая может быть слишком большой, чтобы быть приемлемой. Приближение 15-го порядка вероятно лучший выбор.

Смотрите также

Функции

Задачи Live Editor

Похожие темы