exponenta event banner

modred

Исключение состояний из моделей пространства состояний

Синтаксис

rsys = modred(sys,elim)
rsys = modred(sys,elim,'method')

Описание

rsys = modred(sys,elim) уменьшает порядок непрерывной или дискретной модели состояния-пространства sys путем исключения состояний, обнаруженных в векторе elim. Вектор X полного состояния разделяется как X = [X1;X2], где X1 является вектором уменьшенного состояния, и X2 отбрасывается.

elim может быть вектором индексов или логическим вектором, соизмеримым с X, где истинные значения отмечают состояния, подлежащие отбрасыванию. Эта функция обычно используется совместно с balreal. Использовать balreal сначала изолировать состояния с незначительным вкладом в ответ ввода-вывода. Если sys был сбалансирован с balreal и вектор g из Hankel сингулярных значений имеет M малых записей, вы можете использовать modred для устранения соответствующих М состояний. Например:

[sys,g] = balreal(sys)  % Compute balanced realization
elim = (g<1e-8)         % Small entries of g are negligible states
rsys = modred(sys,elim) % Remove negligible states

rsys = modred(sys,elim,'method') также определяет метод исключения состояния. Варианты для 'method' включать

  • 'MatchDC' (по умолчанию): Обеспечение соответствующего усиления контроллера домена. Матрицы состояния-пространства вычисляются повторно, как описано в разделе Алгоритмы.

  • 'Truncate': Просто удалите X2.

'Truncate' опция имеет тенденцию к получению лучшей аппроксимации в частотной области, но коэффициенты усиления постоянного тока не гарантированно совпадают.

Если модель state-space sys был сбалансирован с balreal и грамматики имеют m небольших диагональных записей, вы можете уменьшить порядок модели, исключив последние m состояний с modred.

Примеры

свернуть все

Рассмотрим следующую непрерывную модель четвертого порядка.

h (s) = s3 + 11s2 + 36s + 26s4 + 14 .6s3 + 74 .96s2 + 153 .7s + 99,65.

Чтобы уменьшить его порядок, сначала вычислите сбалансированную реализацию состояния-пространства с помощью balreal.

h = tf([1 11 36 26],[1 14.6 74.96 153.7 99.65]);
[hb,g] = balreal(h);

Осмотрите грамматиков.

g'
ans = 1×4

    0.1394    0.0095    0.0006    0.0000

Последние три диагональные записи сбалансированных грамматиков относительно малы. Устранение этих трех наименее вносящих вклад государств с modred, используя методы согласованного усиления DC и прямого удаления.

hmdc = modred(hb,2:4,'MatchDC');
hdel = modred(hb,2:4,'Truncate');

Оба hmdc и hdel являются моделями первого порядка. Сравните их ответы Боде с ответами исходной модели.

bodeplot(h,'-',hmdc,'x',hdel,'*')

Figure contains 2 axes. Axes 1 contains 3 objects of type line. These objects represent h, hmdc, hdel. Axes 2 contains 3 objects of type line. These objects represent h, hmdc, hdel.

Модель уменьшенного порядка hdel явно является лучшим аппроксимацией частотной области h. Теперь сравните ответы на шаги.

stepplot(h,'-',hmdc,'-.',hdel,'--')

Figure contains an axes. The axes contains 3 objects of type line. These objects represent h, hmdc, hdel.

В то время как hdel точно отражает переходное поведение, только hmdc дает истинный ответ в установившемся состоянии.

Алгоритмы

Алгоритм для согласованного способа усиления постоянного тока следующий. Для моделей непрерывного времени

x˙=Ax+Byy=Cx+Du

вектор состояния разделяется на x1, подлежащий сохранению, и x2, подлежащий устранению.

[x˙1x˙2]=[A11A12A21A22] [x1x2] + [B1B2] uy = [C1C2] x + Du

Затем производная x2 устанавливается равной нулю, и результирующее уравнение решается для x1. Модель с уменьшенным порядком задается

x˙1=[A11−A12A22−1A21]x1+[B1−A12A22−1B2]uy=[C1−C2A22−1A21]x+[D−C2A22−1B2]u

Случай дискретного времени обрабатывается аналогично с помощью настройки

x2 [n + 1] = x2 [n]

См. также

| |

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