operpoint

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

Синтаксис

Описание

пример

op = operpoint(mdl) возвращает рабочую точку Simulink® модели mdl. Вы можете вычислить линейную модель своей системы в этой рабочей точке, используя linearize функция.

Примеры

свернуть все

Откройте модель 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 функция

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

  • Использование copy функция

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

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 является объектом рабочей точки, который указывает на те же базовые данные, что и op1. Из-за этой ссылки вы не можете независимо изменить свойства двух объектов рабочей точки. Чтобы увидеть это, измените свойство 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

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

Входные параметры

свернуть все

Имя модели Simulink, заданное как вектор символов или строка. Модель должна быть в текущей рабочей папке или в MATLAB® путь.

Выходные аргументы

свернуть все

Рабочая точка, возвращенная как объект рабочей точки со следующими свойствами.

СвойствоОписание
ModelИмя модели Simulink, возвращенное как вектор символов.
States

Рабочая точка состояния, возвращенная как вектор объектов состояния. Каждая запись в States представляет поддерживаемые состояния одного блока Simulink.

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

Примечание

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

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

ОбластьОписание
Nx только для чтения

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

Block

Блочный путь, возвращенный как вектор символов.

StateName

Имя состояния

x

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

Ts

Шаг расчета и смещения каждого поддерживаемого состояния блока, возвращаемый как вектор. Для систем в непрерывном времени, Ts равен нулю.

SampleType

Частота времени состояния, возвращенная как одно из следующего:

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

  • 'DSTATE' - Состояние в дискретном времени

inReferencedModel

Флаг, указывающий, находится ли блок внутри образца модели, возвращается как одно из следующего:

  • 1 - Блок находится внутри модели-ссылки.

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

Description

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

Inputs

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

Каждый входной объект имеет следующие поля:

ОбластьОписание
Block

Имя блока Inport

PortWidth

Количество входных блочных сигналов

PortDimensions

Размерность сигналов, принятых входным портом

u

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

Description

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

Time

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

Version

Номер версии объекта

Совет

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

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

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

    • Копирование operpoint использование объекта copy команда.

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

Альтернативная функциональность

operpoint функция возвращает рабочую точку с текущим состоянием и входными значениями модели. Чтобы создать рабочую точку, которая соответствует спецификациям вашего приложения, используйте findop функция. Для получения дополнительной информации см. «Вычисление статических рабочих точек».

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