Состояния и входные параметры от рабочих точек
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, чтобы установить и входные значения состояния в другой рабочей точке.