schurmr

Сбалансированное усечение модели с помощью метода Шура

Синтаксис

GRED = schurmr(G)
GRED = schurmr(G,order)
[GRED,redinfo] = schurmr(G,key1,value1,...)
[GRED,redinfo] = schurmr(G,order,key1,value1,...)

Описание

schurmr возвращает уменьшаемую модель GRED порядка из G и массива структур redinfo содержащий ошибку, связанную упрощенной модели и сингулярных значений Ганкеля исходной системы.

Связанная ошибка вычисляется на основе сингулярных значений Ганкеля G. Для устойчивой системы сингулярные значения Ганкеля указывают на соответствующую энергию состояния системы. Следовательно, уменьшаемый порядок может быть непосредственно определен путем исследования системы Ганкель СВ, σ ι.

Только с одним входным параметром G, функция покажет график сингулярного значения Ганкеля исходной модели и запросит номер заказа модели, чтобы уменьшать.

Этот метод гарантирует, что ошибка привязала норму по бесконечности аддитивной ошибкиG-GRED ∥∞ для хорошо подготовленной модели уменьшал проблемы [1]:

GGred2k+1nσi

Эта таблица описывает входные параметры для schurmr.

Аргумент

Описание

G

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

ORDER

(Необязательно) целое число для желаемого порядка упрощенной модели, или опционально вектор упаковывается желаемыми порядками для пакетных запусков

Пакетный запуск сериала различных уменьшаемых моделей порядка может быть сгенерирован путем определения order = x:y, или вектор из целых чисел. По умолчанию вся антиустойчивая часть системы сохранена, потому что с точки зрения устойчивости управления, избавление от нестабильного состояния (состояний) опасно, чтобы смоделировать систему.

'MaxError' может быть задан тем же способом как альтернатива для ' ORDER '. В этом случае уменьшаемый порядок будет определен когда сумма хвостов пределов sv Ганкеля 'MaxError'.

Аргумент

Значение

Описание

'MaxError'

Вещественное число или вектор из различных ошибок

Уменьшайте, чтобы достигнуть H ошибка.

Когда существующий, 'MaxError' переопределения ORDER входной параметр.

'Weights'

{Wout,Win} cellArray

Оптимальный 1x2 массив ячеек весов LTI Wout (выведите) и Win входной параметр; значением по умолчанию является оба идентичность; Веса должны быть обратимыми.

'Display'

'on' или 'off'

Отобразите сингулярные графики Ганкеля ('off' по умолчанию).

'Order'

Целое число, векторный или массив ячеек

Порядок упрощенной модели. Используйте только если не заданный в качестве 2-го аргумента.

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

Эта таблица описывает выходные аргументы.

Аргумент

Описание

GRED

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

REDINFO

Массив структур с 3 полями:

  • REDINFO.ErrorBound

  • REDINFO.StabSV

  • REDINFO.UnstabSV

G может быть устойчивым или нестабильным. G и GRED может быть или непрерывным или дискретным.

Примеры

Учитывая непрерывную или дискретную, устойчивую или нестабильную систему, G, следующие команды могут получить набор уменьшаемых моделей порядка на основе ваших выборов:

rng(1234,'twister'); 
G = rss(30,5,4);
[g1, redinfo1] = schurmr(G); % display Hankel SV plot
                             % and prompt for order (try 15:20)
[g2, redinfo2] = schurmr(G,20); 
[g3, redinfo3] = schurmr(G,[10:2:18]);
[g4, redinfo4] = schurmr(G,'MaxError',[0.01, 0.05]);
for i = 1:4
     figure(i); eval(['sigma(G,g' num2str(i) ');']);
end

Алгоритмы

Учитывая пространство состояний (A,B,C,D) системы и k, желаемого уменьшаемого порядка, следующие шаги произведут преобразование подобия, чтобы обрезать исходную систему в пространстве состояний до упрощенной модели порядка kth [16].

  1. Найдите управляемость и наблюдаемость grammians P и Q.

  2. Найдите разложение Шура для PQ и в возрастании и в порядке убывания, соответственно,

    VATPQVA=[λ1000λn]VDTPQVD=[λn000λ1]

  3. Найдите слева/справа ортонормированные собственные базисы PQ сопоставленными с kth большими сингулярными значениями Ганкеля.

    VA=[VR,SMALL,VL,BIG]

  4. Найдите SVD (VTL,BIG VR,BIG) = U Σ VT

    VD=[VR,BIG,VL,SMALL]

  5. Сформируйтесь слева/справа, преобразование для итогового kth заказывает упрощенную модель

            S L,BIG = V L,BIG U Σ (1:k, 1:k) –½

            S R, BIG = VR,BIGVΣ (1:k, 1:k) –½

  6. Наконец,

    [A^B^C^D^]=[SL,BIGTASR,BIGSL,BIGTBCSR,BIGD]

Доказательство алгоритма усечения баланса Шура может быть найдено в [2].

Ссылки

[1] K. Перчаточник, “Все Оптимальное Приближение Нормы Ганкеля Линейных Многомерных Систем и Их L ∝-ошибочные Границы”, Int J. Управление, издание 39, № 6, стр 1145-1193, 1984.

[2] М. Г. Сафонов и Р. И. Чанг, “Метод Шура для Сбалансированного Снижения сложности модели”, Сделка IEEE на Автомате. Противоречие, издание 34, № 7, июль 1989, стр 729-733.

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

| | | | |

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