balred

Сокращение порядка модели

Синтаксис

rsys = balred(sys,ORDERS)
rsys = balred(sys,ORDERS,BALDATA)
rsys = balred(___,opts)

Описание

rsys = balred(sys,ORDERS) вычисляет приближение уменьшаемого порядка rsys из модели LTI sys. Желаемый порядок (количество состояний) для rsys задан ORDERS. Можно попробовать несколько порядков целиком установкой ORDERS к вектору из целых чисел, в этом случае rsys вектор из моделей уменьшаемого порядка. balred использует неявные методы балансировки, чтобы вычислить уменьшаемый - приближение порядка rsysИспользование hsvd (Control System Toolbox), чтобы построить сингулярные значения Ганкеля и выбрать соответствующий порядок приближения. Состояния с относительно маленькими сингулярными значениями Ганкеля могут быть безопасно отброшены.

Когда sys имеет нестабильные полюса, это сначала разложено на свое устойчивое и нестабильное использование частей stabsep (Control System Toolbox), и только устойчивая часть аппроксимированы. Использование balredOptions (Control System Toolbox), чтобы задать дополнительные опции для устойчивого/нестабильного разложения.

Эта команда требует лицензии Control System Toolbox™. sys может только быть идентифицированная модель в пространстве состояний (idss). Моделью уменьшаемого порядка является также idss модель.

rsys = balred(sys,ORDERS,BALDATA) использование, балансирующее данные, возвращенные hsvd (Control System Toolbox). Поскольку hsvd делает большую часть работы, должен был вычислить rsys, этот синтаксис более эффективен при использовании hsvd и balred совместно.

rsys = balred(___,opts) вычисляет снижение сложности модели с помощью опций, что вы задаете использование balredOptions (Control System Toolbox). Опции включают смещение и опции допуска для вычисления устойчиво-нестабильных разложений. Там также опции для подчеркивания определенного времени или интервалов частоты. Смотрите balredOptions (Control System Toolbox) для деталей.

Примечание

Порядок аппроксимированной модели всегда является, по крайней мере, количеством нестабильных полюсов и самое большее минимального порядка исходной модели (номер NNZ из ненулевых сингулярных значений Ганкеля с помощью порога родственника уровня eps)

Примеры

свернуть все

Вычислите аппроксимацию системы уменьшаемого порядка, данную:

G(s)=(s+0.5)(s+1.1)(s+2.9)(s+10-6)(s+1)(s+2)(s+3).

Создайте модель.

sys = zpk([-.5 -1.1 -2.9],[-1e-6 -2 -1 -3],1);

Исключите полюс в s=10-6 от устойчивого срока устойчивого/нестабильного разложения. Для этого установите Offset опция balredOptions к значению, больше, чем полюс, вы хотите исключить.

opt = balredOptions('Offset',.001,'StateElimMethod','Truncate');

Вычислите приближение второго порядка.

rsys = balred(sys,2,opt);

Сравните ответы исходных моделей и моделей уменьшаемого порядка.

bodeplot(sys,rsys,'r--')

Уменьшайте старшую модель с особым вниманием на динамике в конкретном частотном диапазоне.

Загрузите модель и исследуйте ее частотную характеристику.

load('highOrderModel.mat','G')
bodeplot(G)

G модель 48-го порядка с несколькими большими пиковыми областями приблизительно 5,2 рад/с, 13,5 рад/с и 24,5 рад/с, и меньшим peaks, рассеянным через многие частоты. Предположим, что для вашего приложения вы только интересуетесь динамикой около второго большого пика между 10 рад/с и 22 рад/с. Фокусируйте снижение сложности модели на необходимой области, чтобы получить хорошее соответствие с аппроксимацией младшим порядком. Используйте balredOptions (Control System Toolbox), чтобы задать интервал частоты для balred.

bopt = balredOptions('StateElimMethod','Truncate','FreqIntervals',[10,22]);
GLim10 = balred(G,10,bopt);
GLim18 = balred(G,18,bopt);

Исследуйте частотные характеристики моделей уменьшаемого порядка. Кроме того, исследуйте различие между теми ответами и исходным ответом (абсолютная погрешность).

subplot(2,1,1);
bodemag(G,GLim10,GLim18,logspace(0.5,1.5,100));
title('Bode Magnitude Plot')
legend('Original','Order 10','Order 18');
subplot(2,1,2);
bodemag(G-GLim10,G-GLim18,logspace(0.5,1.5,100));
title('Absolute Error Plot')
legend('Order 10','Order 18');

С ограниченным частотой энергетическим расчетом даже приближение 10-го порядка довольно хорошо в необходимой области.

Альтернативная функциональность

Задача Live Editor

Уменьшайте порядок модели (Control System Toolbox)

Вопросы совместимости

развернуть все

Поведение изменяется в R2017b

Ссылки

[1] Varga, A., "Алгоритм Квадратного корня без балансировок для Вычисления Сингулярных Приближений Возмущения", Proc. 30-го CDC IEEE, Брайтон, UK (1991), стр 1062-1065.

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

Функции

Приложения

Задачи Live Editor

Представлено до R2006a