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

Без изменения модели simulink существует ли команда Matlab или серия команд, которые способны перестроить систему пространства состояний таким образом, чтобы некоторые параметры, которые ранее выводились, стали состояниями. Для контекста мой нижестоящий процесс также будет отбрасывать ряд состояний.

Я использовал simulink, simulink control, идентификацию системы и набор инструментов control system.

ОТВЕЧАТЬ

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech , ME, M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Предположим, что модель пространства состояний от Simulink определена как:

хточка = А*х + В*у

[y1;y2] = [C1; C2] * x + [0;D2] u

где y1 — это выходные данные, которые вы хотите использовать в качестве переменных состояния (вы всегда можете упорядочить выходные данные таким образом), и все матрицы имеют совместимые размеры. Обратите внимание, что D1 == 0.

Теперь у нас есть как минимум два варианта.

Первый вариант — добавить дополнительные состояния (w) с производными, равными производным выходов

w = y1

wdot = y1dot = C1*xdot = C1*A*x + C1*B*u.

Теперь мы можем дополнить вектор состояния x новыми состояниями w. По определению, новые выходные данные, которые заменяют y1, — это просто w. Следовательно, новая модель пространства состояний:

[xdot;wdot] = [A 0;C1*A 0] * [x;w] + [B;C1*B] * u

[ynew;y2] = [0 I;C2 0] * [x;w] + [0;D] * u

где нулевая и единичная матрицы имеют соответствующую размерность. Результатом будет неминимальная реализация пространства состояний, которая сохраняет исходные состояния, сохраняет входную/выходную передаточную функцию от u к y и имеет выходные данные ynew, которые являются переменными состояния.

Вот пример.

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

>> sys1 = minreal(ss(zpk([tf(1,[1 1]);tf(1,conv([1 1],[1 2]));tf(1,conv([1 1],[1 3]))])))
sys1 =
 
  A = 
            x1       x2       x3
   x1   -2.067  -0.2775  -0.1388
   x2   0.2401   -1.212    0.894
   x3  0.03861   0.5588   -2.721
 
  B = 
           u1
   x1  0.9679
   x2  0.6052
   x3   1.303
 
  C = 
            x1       x2       x3
   y1   0.1629   0.6703   0.3352
   y2  -0.6095   0.4695   0.2348
   y3  0.06517   0.4681  -0.2659
 
  D = 
       u1
   y1   0
   y2   0
   y3   0
 
Continuous-time state-space model.

Давайте посмотрим на это

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ