exponenta event banner

getxu

Состояния и вклад оперативных пунктов

Синтаксис

x = getxu(op)
[x,u] = getxu(op)
[x,u,xstruct] = getxu(op)

Описание

x = getxu(op) извлекает вектор значений состояния, x, от объекта рабочей точки, op.

[x,u] = getxu(op) также извлекает вектор входных значений, u, от объекта рабочей точки. Порядок входных данных в u соответствует нумерации портов ввода на корневом уровне в Simulink ®.

[x,u,xstruct] = getxu(op) также извлекает структуру значений состояния, xstruct, от объекта рабочей точки. Структура значений состояния, xstructимеет тот же формат, что и при моделировании Simulink.

Примеры

свернуть все

Создание рабочей точки для magball модель.

op = operpoint('magball');

Просмотрите состояния в рабочей точке.

op.States
(1.) magball/Controller/PID Controller/Filter/Cont. Filter/Filter
      x: 0            
(2.) magball/Controller/PID Controller/Integrator/Continuous/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         

Извлеките векторы состояний и входных значений и структуру состояний из рабочей точки.

[x,u,xstruct] = getxu(op)
x = 5×1

    0.0500
         0
   14.0071
    7.0036
         0

u =

     []
xstruct = struct with fields:
       time: 0
    signals: [1x5 struct]

Просмотр состояний в структуре состояний.

xstruct.signals
ans=1×5 struct array with fields:
    values
    dimensions
    label
    blockName
    stateName
    inReferencedModel
    sampleTime

values в поле отображаются значения состояния для рабочей точки. blockName показывает имена блоков, которые содержат каждое состояние.

См. также

|

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