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 из сингулярных значений Ханкеля имеет M малых значений, можно использовать modred для устранения соответствующих M состояний. Для примера:

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

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

Если модель пространства состояний 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 являются моделями первого порядка. Сравните их отклики Bode с откликами исходной модели.

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=[A11A12A221A21]x1+[B1A12A221B2]uy=[C1C2A221A21]x+[DC2A221B2]u

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

x2[n+1]=x2[n]

См. также

| |

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