В этом примере показано, как вычислить аппроксимацию младшим порядком двумя способами и сравнивает результаты. Когда вы вычисляете аппроксимацию младшим порядком сбалансированным методом усечения, вы можете также:
Отбросьте состояния, которые делают самый маленький вклад в поведение системы, изменяя остающиеся состояния, чтобы сохранить усиление DC системы.
Отбросьте низкоэнергетические состояния, не изменяя остающиеся состояния.
Какой метод, который вы выбираете, зависит от того, какие движущие силы являются самыми важными для вашего приложения. В общем случае сохранение усиления DC происходит за счет точности в динамику более высокой частоты. С другой стороны усечение состояния может дать к большей точности в быстрых переходных процессах, за счет низкочастотной точности.
Этот пример сравнивает методы устранения состояния balred
команда, Truncate
и MatchDC
. Можно так же управлять методом устранения состояния в приложении Model Reducer, на вкладке Balanced Truncation, с помощью флажка Preserve DC Gain, как показано.
Рассмотрите следующую систему.
Создайте модель с обратной связью этой системы от r до y.
G = zpk([0 -2],[-1 -3],1); C = tf(2,[1 1e-2]); T = feedback(G*C,1)
T = 2 s (s+2) -------------------------------- (s+0.004277) (s+1.588) (s+4.418) Continuous-time zero/pole/gain model.
T
система третьего порядка, которая имеет нулевую полюсом почти отмену близко к s = 0. Поэтому это - хороший кандидат на сокращение порядка приближением.
Вычислите два приближения второго порядка к T
, тот, который сохраняет усиление DC и то, которое обрезает самое низкое энергетическое состояние, не изменяя другие состояния. Используйте balredOptions
задавать методы приближения, MatchDC
и Truncate
, соответственно.
matchopt = balredOptions('StateElimMethod','MatchDC'); truncopt = balredOptions('StateElimMethod','Truncate'); Tmatch = balred(T,2,matchopt); Ttrunc = balred(T,2,truncopt);
Сравните частотные характеристики аппроксимированных моделей.
bodeplot(T,Tmatch,Ttrunc) legend('Original','DC Match','Truncate')
Усеченная модель Ttrunc
совпадает с исходной моделью хорошо в высоких частотах, но значительно отличается в низкой частоте. С другой стороны, Tmatch
дает к хорошему соответствию в низких частотах как ожидалось, за счет высокочастотной точности.
Можно также видеть различия между этими двумя методами путем исследования ответа временного интервала в различных режимах. Сравните медленную динамику путем рассмотрения переходного процесса всех трех моделей с долгосрочным горизонтом.
stepplot(T,Tmatch,'r--',Ttrunc,1500) legend('Original','DC Match','Truncate')
Как ожидалось, на долгом времени масштабирует соответствующее DC приближение Tmatch
имеет очень похожий ответ на исходную модель.
Сравните быстрые переходные процессы в переходном процессе.
stepplot(T,Tmatch,'r',Ttrunc,'g--',0.5) legend('Original','DC Match','Truncate')
По кратковременным шкалам, усеченное приближение Ttrunc
предоставляет лучшее соответствие исходной модели. Какой метод приближения, который необходимо использовать, зависит, на котором режим является самым важным для приложения.