operpoint

Создайте рабочую точку для модели Simulink

Синтаксис

op = operpoint(sys)

Описание

op = operpoint(sys) возвращает объект, op, содержа рабочую точку модели Simulink®, sys. Задайте sys или как вектор символов или как строка. Используйте объект с функциональным linearize создать линеаризовавшие модели. Объект рабочей точки имеет следующие свойства:

  • Model — Имя модели Simulink, заданное как вектор символов.

  • States — Спецификация рабочей точки состояния, заданная как массив структур. Каждая структура в массиве представляет поддерживаемые состояния одного блока Simulink. (Для списка поддерживаемых состояний для объектов рабочей точки смотрите состояния Модели Simulink, Включенные в Объект Рабочей точки.) Редактируют свойства этого объекта с помощью записи через точку или set функция.

    Каждый States структура имеет следующие поля:

    NxТолько для чтения

    Количество состояний в блоке Simulink.

    Block

    Имя блока Simulink.

    StateName

    Имя состояния, заданного как вектор символов.

    x

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

    При создании спецификаций значения состояния для поисковых запросов рабочей точки с помощью findop и вы устанавливаете значение состояния, что вы хотите зафиксированный, также устанавливаете Known поле States свойство для того состояния к 1.

    Ts

    (Только для состояний дискретного времени) Шаг расчета и смещение каждого состояния блока Simulink, заданного как вектор.

    SampleType

    Уровень времени состояния, заданный как одно из следующих значений:

    • 'CSTATE' — Состояние непрерывного времени

    • 'DSTATE' — Дискретный — состояние времени

    inReferencedModel

    Вектор, указывающий, является ли каждое состояние в эталонной модели:

    • 1 — Состояние в эталонной модели

    • 0 — Состояние находится в файле текущей модели

    Description

    Описание состояния блока, заданное как вектор символов.

  • Inputs — Уровень на входе в рабочей точке, заданной как вектор входных объектов. Каждый входной объект представляет уровни на входе одного блока импорта корневого уровня в блоке Simulink.

    Каждая запись в Inputs имеет следующие поля:

    Block

    Имя блока Inport.

    PortWidth

    Количество блоков-сигналов импорта.

    PortDimensions

    Размерность сигналов принята импортом.

    u

    Уровни на входе блока Inport в рабочей точке, заданной как вектор уровней на входе.

    Когда создание ввело спецификации для поисковых запросов рабочей точки с помощью findop, также установите Known поле Inputs свойство для известных уровней на входе, которые остаются фиксированными во время поиска рабочей точки.

    Description

    Блок Inport ввел описание, заданное как вектор символов.

  • Time — Времена, в которые выполнены любые изменяющиеся во времени функции в модели, задали как вектор.

  • Version — Номер версии объекта.

Примеры

свернуть все

Открытая модель Simulink.

open_system('magball')

Создайте рабочую точку для модели.

op = operpoint('magball')
 Operating point for the Model magball.
 (Time-Varying Components Evaluated at time t=0)

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         

Inputs: None 
----------

op списки каждый блок в модели, которая имеет состояния. Нет никакого импорта корневого уровня в этой модели, поэтому op не содержит входные параметры.

Можно создать новый operpoint переменные тремя способами:

  • Используя operpoint команда

  • Используя присвоение с равнянием (=оператор

  • Используя copy команда

Используя = оператор приводит к соединенным переменным что обе точки к тем же базовым данным. Используя copy команда приводит к независимому operpoint объект. В этом примере создайте operpoint объекты оба пути, и исследуют свое поведение.

mdl = 'watertank';
open_system(mdl);
op1 = operpoint(mdl)
 Operating point for the Model watertank.
 (Time-Varying Components Evaluated at time t=0)

States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
      x: 0            
(2.) watertank/Water-Tank System/H
      x: 1            

Inputs: None 
----------

Создайте новый объект рабочей точки использование присвоения с = оператор.

op2 = op1;

op2 operpoint возразите что точки против тех же базовых данных как op1. Из-за этой ссылки вы не можете независимо изменить свойства двух operpoint объекты. Чтобы видеть это, измените свойство op2. Например, измените значение для первого состояния с 0 до 2. Изменение показывает в States раздел отображения.

op2.States(1).x = 2
 Operating point for the Model watertank.
 (Time-Varying Components Evaluated at time t=0)

States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
      x: 2            
(2.) watertank/Water-Tank System/H
      x: 1            

Inputs: None 
----------

Исследуйте отображение op1 видеть что соответствующее значение свойства op1 также изменения от 0 до 2.

op1
 Operating point for the Model watertank.
 (Time-Varying Components Evaluated at time t=0)

States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
      x: 2            
(2.) watertank/Water-Tank System/H
      x: 1            

Inputs: None 
----------

Чтобы создать независимую копию объекта рабочей точки, используйте copy команда.

op3 = copy(op1);

Теперь, когда вы изменяете свойство op3, op1 не изменяется. Например, измените значение для первого состояния от 2 до 4.

op3.States(1).x = 4
 Operating point for the Model watertank.
 (Time-Varying Components Evaluated at time t=0)

States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
      x: 4            
(2.) watertank/Water-Tank System/H
      x: 1            

Inputs: None 
----------

В op1, соответствующее значение остается 2.

op1.States(1).x
ans = 2

Это поведение копии происходит потому что operpoint объект указателя. Для получения дополнительной информации об объектах указателя, смотрите Поведение объекта Указателя (MATLAB).

Советы

  • Можно создать новый operpoint переменные 3 способами:

    • Создайте новый объект с operpoint команда.

    • Создайте новую переменную присвоением с равнянием (=) оператор.

    • Скопируйте operpoint объект с помощью copy команда.

    Используя operpoint или copy создает новый, независимый объект. Когда вы используете присвоение, существует ссылка между старой и новой переменной. Для примера см. Копию Рабочая точка.

Альтернативы

Как альтернатива operpoint функционируйте, вычислите рабочие точки, чтобы выполнить вашим требованиям к приложению. Для получения дополнительной информации смотрите, Вычисляют Установившиеся Рабочие точки.

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

| | | | |

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

Для просмотра документации необходимо авторизоваться на сайте