getxu

Состояния и входные параметры от рабочих точек

Синтаксис

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

Смотрите также

|

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