Состояния и входные параметры от рабочих точек
x = getxu(op_point)
[x,u] = getxu(op_point)
[x,u,xstruct] = getxu(op_point)
x = getxu(op_point)
извлекает вектор значений состояния, x
, от объекта рабочей точки, op_point
. Упорядоченное расположение состояний в x
эквивалентно что используемый программным обеспечением Simulink®.
[x,u] = getxu(op_point)
извлекает вектор значений состояния, x
и вектора входных значений, u
, от объекта рабочей точки, op_point
. Состояния в x
и входные параметры в u
упорядочены таким же образом что касается Simulink.
[x,u,xstruct] = getxu(op_point)
извлекает вектор значений состояния, x
, вектора входных значений, u
и структуры значений состояния, xstruct
, от объекта рабочей точки, op_point
. Структура значений состояния, xstruct
, имеет тот же формат, как это возвратилось из симуляции Simulink. Состояния в x
и xstruct
и входных параметрах в u
упорядочены таким же образом что касается Simulink.
Создайте объект рабочей точки для модели magball
путем ввода:
op=operpoint('magball');
Чтобы просмотреть состояния в этой рабочей точке, введите:
op.States
который возвращается
(1.) magball/Controller/PID Controller/Filter x: 0 (2.) magball/Controller/PID Controller/Integrator x: 14 (3.) magball/Magnetic Ball Plant/Current x: 7 (4.) magball/Magnetic Ball Plant/dhdt x: 0 (5.) magball/Magnetic Ball Plant/height x: 0.05
Чтобы извлечь вектор значений состояния, с состояниями в упорядоченном расположении, которое совместимо с Simulink, наряду с входными параметрами и структурой состояния, введите:
[x,u,xstruct]=getxu(op)
Этот синтаксис возвращается:
x = 0.0500 0 14.0071 7.0036 0 u = [] xstruct = time: 0 signals: [1x5 struct]
Просмотрите xstruct
более подробно путем ввода:
xstruct.signals
Этот синтаксис отображения:
ans = 1x5 struct array with fields: values dimensions label blockName stateName inReferencedModel sampleTime
Просмотрите каждый компонент структуры индивидуально. Например:
xstruct.signals(1).values ans = 0
или
xstruct.signals(2).values ans = 7.0036
Можно импортировать эти векторы и структуры в Simulink как начальные условия или входные векторы или использовать их с setxu
, чтобы установить и входные значения состояния в другой рабочей точке.