copy

Скопируйте спецификацию рабочей точки или рабочей точки

Синтаксис

op_point2 = copy(op_point1)
op_spec2 = copy(op_spec1)

Описание

op_point2 = copy(op_point1) возвращает копию объекта рабочей точки op_point1. Можно создавать op_point1 с функцией operpoint.

op_spec2 = copy(op_spec1) возвращает копию объекта спецификации рабочей точки op_spec1. Можно создавать op_spec1 с функцией operspec.

Примечание

Область команды op_point2 = op_point1 не создает копию op_point1 но вместо этого создает указатель на op_point1. В этом случае любые изменения, внесенные в op_point2 также сделаны для op_point1. То же самое относится и к спецификациям рабочих точек. Для получения примера смотрите Копировать спецификацию рабочей точки.

Примеры

свернуть все

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

  • Использование operspec команда

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

  • Использование copy команда

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

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

States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
	 spec:  dx = 0,  initial guess: 0
(2.) watertank/Water-Tank System/H
	 spec:  dx = 0,  initial guess: 1

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

Outputs: None 
----------

Создайте новый объект спецификации рабочей точки с помощью назначения со = оператор.

opspec2 = opspec1;

opspec2 является operspec объект, который указывает на те же базовые данные, что и opspec1. Из-за этой ссылки вы не можете независимо изменить свойства двух operspec объекты. Чтобы увидеть это, измените свойство opspec2. Для образца измените начальное значение для первого состояния с 0 до 2. Изменение отображается в States раздел отображения.

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

States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
	 spec:  dx = 0,  initial guess: 2
(2.) watertank/Water-Tank System/H
	 spec:  dx = 0,  initial guess: 1

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

Outputs: None 
----------

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

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

States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
	 spec:  dx = 0,  initial guess: 2
(2.) watertank/Water-Tank System/H
	 spec:  dx = 0,  initial guess: 1

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

Outputs: None 
----------

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

opspec3 = copy(opspec1);

Теперь, когда вы меняете свойство opspec3, opspec1 не меняется. Для образца измените начальное значение для первого состояния с 2 до 4.

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

States: 
----------
(1.) watertank/PID Controller/Integrator/Continuous/Integrator
	 spec:  dx = 0,  initial guess: 4
(2.) watertank/Water-Tank System/H
	 spec:  dx = 0,  initial guess: 1

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

Outputs: None 
----------

В opspec1соответствующее значение остается равным 2.

opspec1.States(1).x
ans = 2

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

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

  • Использование 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.

См. также

|

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