GRED = bstmr(G) GRED = bstmr(G,order) [GRED,redinfo] = bstmr(G,key1,value1,...) [GRED,redinfo] = bstmr(G,order,key1,value1,...)
bstmr
возвращает модель пониженного порядка GRED
от G
и массив структур redinfo
содержащий границу ошибок редуцированной модели и сингулярные значения Ханкеля фазовой матрицы исходной системы [2].
Граница ошибки вычисляется на основе сингулярных значений Ханкеля фазы матрицы G
. Для стабильной системы эти значения указывают соответствующую энергию состояния системы. Следовательно, пониженный порядок может быть непосредственно определен путем исследования этих значений.
С одним только входным параметром G
функция покажет график сингулярного значения Ханкеля матрицы фазы G
и подсказка для уменьшения количества порядков модели.
Этот метод гарантирует ограничение ошибки на норме по бесконечности мультипликативного ∥ GRED
– 1 (G-GRED)
∥ ∞ или относительная погрешность ∥ G
-– 1 (G-GRED)
∥ ∞ для хорошо обусловленных задач снижения сложности модели [1]:
Эта таблица описывает входные параметры для bstmr
.
Аргумент | Описание |
---|---|
| Модель LTI будет уменьшена (без каких-либо других входов будет строиться график ее сингулярных значений Ханкеля и подсказка для пониженного порядка) |
| (Необязательно) целое число для желаемого порядка уменьшенной модели или вектор желаемых порядков для пакетных запусков |
Пакетный запуск последовательного набора различных моделей пониженного порядка может быть сгенерирован путем определения order = x:y
, или вектор из целых чисел. По умолчанию вся антистабильная часть системы сохранена, потому что с точки зрения стабильности контроля, избавление от нестабильного состояния (состояний) опасно, чтобы смоделировать систему.
'MaxError'
может быть задано так же, как альтернатива для 'ORDER'
. В этом случае уменьшенный порядок будет определен, когда накопленный продукт сингулярных значений Ханкеля, показанных в вышеописанном уравнении, достигает 'MaxError'
.
Аргумент | Значение | Описание |
---|---|---|
'MaxError' | Действительное число или вектор различных ошибок | Уменьшите, чтобы добиться H ∞ ошибки. Когда присутствует, |
'Display' |
| Отобразите сингулярные графики Ханкеля (по умолчанию |
'Order' | Целое число, вектор или массив ячеек | Порядок уменьшенной модели. Используйте только, если не задан как второй аргумент. |
Эта таблица описывает выходные аргументы.
Аргумент | Описание |
---|---|
GRED | Модель пониженного порядка LTI. Станьте многомерным массивом, когда вход является последовательным номером другого массива порядка модели. |
REDINFO | A Массива структур с тремя полями:
|
G
может быть стабильным или нестабильным, непрерывным или дискретным.
Примечание
bstmr
основана на balred
.
Учитывая непрерывную или дискретную, стабильную или нестабильную систему, G
следующие команды могут получить набор моделей пониженного порядка на основе выбранных вами вариантов:
rng(1234,'twister'); G = rss(30,5,4); G.D = zeros(5,4); [g1, redinfo1] = bstmr(G); % display Hankel SV plot % and prompt for order (try 15:20) [g2, redinfo2] = bstmr(G,20); [g3, redinfo3] = bstmr(G,[10:2:18]); [g4, redinfo4] = bstmr(G,'MaxError',[0.01, 0.05]); for i = 1:4 figure(i) eval(['sigma(G,g' num2str(i) ');']); end
Учитывая пространство состояний (A,B,C,D) системы и k, желаемый пониженный порядок, следующие шаги произведут преобразование подобия, чтобы обрезать исходную систему в пространстве состояний кth упорядочить уменьшенную модель.
Найдите управляемость grammian <reservedrangesplaceholder5> и наблюдаемость grammian <reservedrangesplaceholder4> левого спектрального фактора Φ = Γ (<reservedrangesplaceholder3>) Γ* (-σ) = Ω* (-σ) Ω (<reservedrangesplaceholder0>), решив следующие уравнения Ляпунова и Риккати
AP + PAT + BBT = 0
BW = PCT + BDT
QA + AT Q + (QBW - CT) (-DDT) (QBW - CT)T = 0
Найдите разложение Шура для PQ как в порядке возрастания, так и в порядке убывания, соответственно,
Найдите левое/правое ортонормальное собственное основание PQ, сопоставленное с kth большие сингулярные значения Ханкеля универсального phase matrix (W*(s))–1G(s).
k
Поиск SVD (V)T L,BIG VR,BIG) = U
Сформируйте преобразование слева/справа для последнего kth упорядочить уменьшенную модель
SL,BIG = VL,BIG U, (1: k, 1: k)–½
SR,BIG = VR,BIG V, (1: k, 1: k)–½
Наконец,
Доказательство алгоритма Schur BST можно найти в [1].
Примечание
Теория снижения сложности модели BST требует, чтобы исходная модель D матрица были полными рангами, поскольку в противном случае решатель Риккати терпит неудачу. Для любой задачи со строго правильной моделью можно переместить j ω ось через bilin
таким образом, что приближение BST/REM может быть достигнута до определенной частотной области значений интересов. Кроме того, можно прикрепить небольшую, но полную матрицу ранга D к исходной задаче, но после этого удалить D матрицу модели пониженного порядка. Пока размер матрицы D незначителен внутри полосы пропускания управления, модель пониженного порядка должна быть довольно близка к истинной модели. По умолчанию в bstmr
программа присвоит полную ранговую матрицу D, масштабированную на 0,001 минимального собственного значения исходной модели, если ее D матрица не является полной рангом для начала. Это служит цели для большинства проблем, если пользователь не хочет проходить через проблему предтрансформации модели.
[1] Zhou, K., «Frequency-weated снижение сложности модели with L∞ error bounds», System. Contr. Lett., Vol. 21, 115-125, 1993.
[2] Safonov, M.G., and R.Y. Chiang, «Снижение сложности модели for Robust Control: A Schur Относительной погрешности Method», International J. of Adaptive Control and Signal Processing, Vol. 2, p. 259-272, 1988.