Матрица символьного пространства состояний MATLAB слишком велика - PullRequest
3 голосов
/ 17 ноября 2011

Я пытаюсь сгенерировать передаточную функцию из имеющихся у меня матриц пространства состояний.Проблема в том, что в матрицах есть переменные, а не числовые значения, поэтому я должен использовать символьные переменные в Matlab.

Итак, я начал с:

A =

[  -a0,    0,    0,    0,    0,    0,   a1]
[    0,  -a2,    0,    0,    0,    0,   a3]
[    0,    0,  -a4,    0,    0,    0,   a5]
[    0,    0,    0,  -a6,    0,    0,   a7]
[    0,    0,    0,    0,  -a8,    0,   a9]
[    0,    0,    0,    0,    0, -a10,  a11]
[  a12,  a13,  a14,  a15,  a16,  a17, -a18]

B =

[ b0, b1]
[  0, b2]
[  0, b3]
[  0, b4]
[  0, b5]
[  0, b6]
[  0,  0]

C = 

[ 0, 0, 0, 0, 0, 0, 1]

D = 0

Затем я нашел метод в Интернете, используя

Phi=inv(s*eye(7)-A)

Где Phi - это перевод matirx.Тогда предполагается использование

H = C * Phi * B + D

H.

Однако MATLAB не может обработать матрицу 7 на 7 и заканчивает тем, что обрезает результаты.

Есть лилучший способ получить требуемую передаточную функцию?

Ответы [ 2 ]

4 голосов
/ 28 ноября 2011

Взгляните на эту статью в Википедии , посвященную инверсии матриц . При рассмотрении матрицы (Is-A) она имеет особую форму, и вы можете инвертировать ее, используя некоторые из идентификаторов, приведенных в этой статье. Все, что вам нужно сделать, это разделить его на блоки, где A - это ваша диагональная часть, B - вертикальный вектор справа, C - горизонтальный вектор снизу, а D - единственный элемент в нижнем правом углу вашей матрицы. Единственными инверсиями, которые вы должны сделать таким образом, являются инвертирование A, которое является диагональным и очень легко обратимым, и (D-C * inv (A) * B), которое является одним числом, потому что ваши C и B являются векторами строк и столбцов соответственно. Это очень легко сделать вручную или с помощью символического набора инструментов.

1 голос
/ 18 ноября 2011

Чтобы быть совместимым с размером B, ваша матрица D должна быть

D = [0 0];

Может быть, это связано с усечением H?

...