balredOptions

Создайте набор опции для сокращения порядка модели

Синтаксис

opts = balredOptions
opts = balredOptions('OptionName', OptionValue)

Описание

opts = balredOptions возвращает набор опции по умолчанию для balred команда.

opts = balredOptions('OptionName', OptionValue) принимает одну или несколько разделенных от запятой пар имя/значение. Задайте OptionName в одинарных кавычках.

Входные параметры

Аргументы в виде пар имя-значение

'FreqIntervals'

Интервалы частоты для вычисления ограниченных частотой сингулярных значений Ганкеля в виде матрицы с двумя столбцами. Каждая строка задает интервал частоты [fmin fmax], где fmin и fmax неотрицательные частоты, выраженные в единице частоты модели. При идентификации низкоэнергетических состояний, чтобы обрезать, программное обеспечение вычисляет вклады состояния в поведение системы в этих частотных диапазонах только. Например:

  • Ограничить расчет областью значений между 3 рад/с и 15 рад/с, принимая единицу частоты модели - rad/s, установите FreqIntervals к [3 15].

  • Ограничить расчет двумя интервалами частоты, 3-15 рад/с и 40-60 рад/с, [3 15; 40 60] использования.

  • Задавать все частоты ниже частоты среза fcut, используйте [0 fcut].

  • Чтобы задать все частоты выше сокращения, используйте [fcut Inf] в непрерывное время или [fcut pi/Ts] в дискретное время, где Ts шаг расчета модели.

Значение по умолчанию, [], не налагает ограничения частоты и эквивалентен [0 Inf] в непрерывное время или [0 pi/Ts] в дискретное время. Однако, если вы задаете TimeIntervals значение кроме [], затем этот предел заменяет FreqIntervals = []. Если вы задаете обоих TimeIntervals значение и FreqIntervals значение, затем расчет использует объединение этих интервалов.

Если StateElimMethod = 'MatchDC' (значение по умолчанию), затем balred попытки совпадать с усилением DC исходных и упрощенных моделей, даже если заданные интервалы частоты исключают 0. Это поведение может уменьшать качество соответствия в заданных интервалах. Чтобы улучшить соответствие в интервалах частоты, которые исключают 0, установите StateElimMethod = 'Truncate'.

Если и частота и временные интервалы действительно включают DC, можно все еще установить StateElimMethod = 'Truncate' улучшить соответствие на других частотах и времена.

Значение по умолчанию: []

'TimeIntervals'

Временные интервалы для вычисления ограниченных временем сингулярных значений Ганкеля в виде матрицы с двумя столбцами. Каждая строка задает временной интервал [tmin tmax], где tmin и tmax неотрицательные времена, выраженные в единице измерения времени модели. При идентификации низкоэнергетических состояний, чтобы обрезать, программное обеспечение вычисляет вклады состояния в импульсную характеристику системы в этих временных интервалах только. Например:

  • Ограничить расчет областью значений между 3 с и 15 с, принимая единицу измерения времени модели - секунды, установите TimeIntervals к [3 15].

  • Ограничить расчет двумя временными интервалами, 3-15 с и 40-60 с, [3 15; 40 60] использования.

  • Задавать все случаи от нуля до времени среза tcut, используйте [0 tcut]. Чтобы задать все случаи после сокращения, используйте [tcut Inf].

Значение по умолчанию, [], не налагает ограничения времени и эквивалентен [0 Inf]. Однако, если вы задаете FreqIntervals значение кроме [], затем этот предел заменяет Timeintervals = []. Если вы задаете обоих TimeIntervals значение и FreqIntervals значение, затем расчет использует объединение этих интервалов.

Если StateElimMethod = 'MatchDC' (значение по умолчанию), затем balred попытки совпадать с усилением DC исходных и упрощенных моделей, даже если интервалы требуемого времени исключают Inf. Это поведение может уменьшать качество соответствия в заданных интервалах. Улучшить соответствие во временных интервалах, которые исключают Inf, установите StateElimMethod = 'Truncate'.

Если и частота и временные интервалы действительно включают DC, можно все еще установить StateElimMethod = 'Truncate' улучшить соответствие на других частотах и времена.

Значение по умолчанию: []

'StateElimMethod'

Метод устранения состояния. Задает, как устранить слабо двойные состояния (состояния с самыми маленькими сингулярными значениями Ганкеля). Заданный как одно из следующих значений:

'MatchDC'Отбрасывает заданные состояния и изменяет остающиеся состояния, чтобы сохранить усиление DC.
'Truncate'Отбрасывает заданные состояния, не изменяя остающиеся состояния. Этот метод ухаживает к продукту за лучшим приближением в частотном диапазоне, но усиления DC, как гарантируют, не будут соответствовать.

Значение по умолчанию: 'MatchDC'

'AbsTol, RelTol'

Допуск абсолютной и относительной погрешности к устойчивому/нестабильному разложению. Значения положительной скалярной величины. Для входной модели G с нестабильными полюсами, balred первые извлечения устойчивая динамика путем вычисления устойчивого/нестабильного разложения G → GS + GU. AbsTol и RelTol допуски управляют точностью этого разложения путем гарантирования, что частотные характеристики G и GS + GU отличаются не больше, чем AbsTol + RelTol*abs (G). Увеличение этих допусков помогает разделить поблизости устойчивые и нестабильные режимы за счет точности. Смотрите stabsep для получения дополнительной информации.

Значение по умолчанию: AbsTol = 0; RelTol = 1e-8

'Offset'

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

  • Re(s) < -Offset * max(1,|Im(s)|) (Непрерывное время)

  • |z| < 1 - Offset (Дискретное время)

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

Значение по умолчанию: 1e-8

Для получения дополнительной информации об опциях и как использовать их, смотрите balred страница с описанием.

Примеры

свернуть все

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

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 задавать интервал частоты для 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-го порядка довольно хорошо в необходимой области.

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

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

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

Введен в R2010a