主要内容

复制

复制操作点或操作点规范

语法

op_point2 =复制(op_point1)
op_spec2 =复制(op_spec1)

描述

op_point2 =复制(op_point1)返回操作点对象的副本op_point1.您可以创建op_point1与函数operpoint

op_spec2 =复制(op_spec1)返回操作点规范对象的副本op_spec1.您可以创建op_spec1与函数operspec

请注意

命令op_point2op_point1不创建副本吗op_point1而是创建一个指针op_point1.在本例中,对op_point2也被要求op_point1.对于操作点规范也是如此。有关示例,请参见复制一个操作点规范

例子

全部折叠

你可以创建新的operspec变量的三种方式:

  • 使用operspec命令

  • 使用等号赋值()操作符

  • 使用复制命令

使用操作符将生成指向相同基础数据的链接变量。使用复制命令结果为独立的operspec对象。在本例中,使用createoperspec对象的两种方式,并检查他们的行为。

mdl =“watertank”;Open_system (mdl) opspec1 = operspec(mdl)
模型水箱的操作点规范。(时变组件评估在时间t = 0) : ---------- x已知稳态分钟马克斯dxMin dxMax  _ _____ ___________ ____ ___ _____ _____ ( 1) watertank / PID控制器/集成商/连续/集成商0错误真的负无穷到正无穷负无穷到正无穷(2)watertank /水箱系统/ H 1假真的0正无穷正输入:没有  ---------- 输出:没有一个  ----------

的赋值创建一个新的操作点规范对象操作符。

opspec2 = opspec1;

opspec2是一个operspec对象,该对象指向与opspec1.由于这种联系,您不能独立地更改二者的属性operspec对象。为了看到这一点,改变一个属性opspec2.例如,将第一个状态的初始值从0更改为2。变化体现在显示部分。

opspec2.States(1)。x = 2
模型水箱的操作点规范。(时变组件评估在时间t = 0) : ---------- x已知稳态分钟马克斯dxMin dxMax  _ _____ ___________ ____ ___ _____ _____ ( 1) watertank / PID控制器/集成商/连续/集成商2假真负无穷到正无穷负无穷到正无穷(2)watertank /水箱系统/ H 1假真的0正无穷正输入:没有  ---------- 输出:没有一个  ----------

检查显示opspec1来查看对应的属性值opspec1也从0变为2。

opspec1
模型水箱的操作点规范。(时变组件评估在时间t = 0) : ---------- x已知稳态分钟马克斯dxMin dxMax  _ _____ ___________ ____ ___ _____ _____ ( 1) watertank / PID控制器/集成商/连续/集成商2假真负无穷到正无穷负无穷到正无穷(2)watertank /水箱系统/ H 1假真的0正无穷正输入:没有  ---------- 输出:没有一个  ----------

要创建操作点规范的独立副本,请使用复制命令。

opspec3 = (opspec1)复印件;

现在,当你改变一个性质opspec3opspec1不会改变。例如,将第一个状态的初始值从2更改为4。

opspec3.States(1)。x = 4
模型水箱的操作点规范。(时变组件评估在时间t = 0) : ---------- x已知稳态分钟马克斯dxMin dxMax  _ _____ ___________ ____ ___ _____ _____ ( 1) watertank / PID控制器/集成商/连续/集成商4假真负无穷到正无穷负无穷到正无穷(2)watertank /水箱系统/ H 1假真的0正无穷正输入:没有  ---------- 输出:没有一个  ----------

opspec1,对应的值保持为2。

opspec1.States(1)方式
ans = 2

发生这种复制行为是因为operspec是一个处理对象.有关句柄对象的更多信息,请参见处理对象的行为

您可以通过三种方式创建新的操作点变量:

  • 使用operpoint函数

  • 使用等号赋值()操作符

  • 使用复制函数

使用操作符将生成指向相同基础数据的链接变量。使用复制函数产生一个独立的操作点对象。在本例中,以两种方式创建操作点对象,并检查它们的行为。

mdl =“watertank”;Open_system (mdl) op1 = operpoint(mdl)
op1 =模型水箱的操作点。状态:---------- x _(1.)水箱/PID控制器/积分器/连续式/积分器0(2.)水箱/水箱系统/H 1输入:无----------

对象赋值创建一个新的操作点对象操作符。

《凤凰社》第2章= op1;

《凤凰社》第2章操作点对象是否指向相同的基础数据op1.由于这个链接,您不能独立地更改两个操作点对象的属性。为了看到这一点,改变一个属性《凤凰社》第2章.例如,将第一个状态的值从0更改为2。变化体现在显示部分。

op2.States(1)。x = 2
op2 =模型水箱的操作点。状态:---------- x _(1.)水箱/PID控制器/积分器/连续式/积分器2(2.)水箱/水箱系统/H 1输入:无----------

检查显示op1来查看对应的属性值op1也从0变为2。

op1
op1 =模型水箱的操作点。状态:---------- x _(1.)水箱/PID控制器/积分器/连续式/积分器2(2.)水箱/水箱系统/H 1输入:无----------

要创建操作点对象的独立副本,请使用复制函数。

op3 =(凤凰社第一章)复印件;

现在,当你改变一个性质op3op1不会改变。例如,将第一个状态的值从2更改为4。

op3.States(1)。x = 4
op3 =模型水箱的操作点。状态:---------- x _(1.)水箱/PID控制器/积分器/连续式/积分器4(2.)水箱/水箱系统/H 1输入:无----------

op1,对应的值保持为2。

op1.States(1)方式
ans = 2

发生这种复制行为是因为操作点对象是一个处理对象.有关句柄对象的更多信息,请参见处理对象的行为

另请参阅

|

之前介绍过的R2006a