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).

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

sys = zpk([-.5 -1.1 -2.9],[-1e-6 -2 -1 -3],1);
% Create balredOptions
opt = balredOptions('Offset',.001,'StateElimMethod','Truncate');
% Compute second-order approximation
rsys = balred(sys,2,opt);

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

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

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

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

load(fullfile(matlabroot,'examples','control','build.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

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