主要内容

operspec

操作点规格

描述

例子

opspec= operspec (mdl返回Simulink的默认作业点规范对象金宝app®模型mdl.使用opspec用于稳态工作点修整findop

例子

opspec= operspec (mdl昏暗的返回具有指定尺寸的默认工作点规范对象的数组,昏暗的

例子

全部折叠

打开Sim金宝appulink模型。

sys =“watertank”;open_system(系统)

为模型创建默认的工作点规范对象。

Opspec = operspec(sys)
opspec =型号水箱的工作点规格。(时变组件评估在时间t = 0) : ---------- x已知稳态分钟马克斯dxMin dxMax  ___________ ___________ ___________ ___________ ___________ ___________ ___________ ( 1) watertank / PID控制器/集成商/连续/集成商0错误真的负无穷到正无穷负无穷到正无穷(2)watertank /水箱系统/ H 1假真的0正无穷正输入:没有  ---------- 输出:没有  ----------

opspec包含模型中两种状态的规范。由于模型没有根级导入或输出,opspec不包含输入或输出规范。若要添加输出规范,请使用addoutputspec

使用点表示法修改每个状态的工作点规范。例如,配置第一个状态为:

  • 处于稳定状态。

  • 有一个下界0

  • 初始值是2修剪。

opspec.States(1)。SteadyState = 1;opspec.States(1)方式=2;opspec.States(1)。Min = 0;

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

  • 使用operspec命令

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

  • 使用复制命令

使用运算符的结果是指向相同底层数据的链接变量。使用复制命令的结果是独立的operspec对象。在本例中,创建operspec对象的两种方式,并检查他们的行为。

mdl =“watertank”;Open_system (mdl) opspec1 = operspec(mdl)
opspec1 =型号水箱的工作点规格。(时变组件评估在时间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
opspec2 =模型水箱的工作点规格。(时变组件评估在时间t = 0) : ---------- x已知稳态分钟马克斯dxMin dxMax  ___________ ___________ ___________ ___________ ___________ ___________ ___________ ( 1) watertank / PID控制器/集成商/连续/集成商2假真负无穷到正无穷负无穷到正无穷(2)watertank /水箱系统/ H 1假真的0正无穷正输入:没有  ---------- 输出:没有  ----------

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

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

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

Opspec3 = copy(opspec1);

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

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

opspec1,对应的值保持为2。

opspec1.States(1)方式
Ans = 2

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

打开Sim金宝appulink模型。

sys =“watertank”;open_system(系统)

创建2 × 3的工作点规范对象数组。您可以使用这样的数组在多个工作点批量修剪模型。

Opspec = operspec(sys,[2,3]);

的每个元素opspec包含模型的默认工作点规范对象。

使用点表示法修改工作点规范对象。例如,在行中配置规范对象的第二个状态1、列3.

opspec(1、3).States(2)。SteadyState = 1;opspec(1、3).States(1)。X = 2;

还可以创建工作点规范对象的多维数组。例如,创建一个3 × 4 × 5的数组。

Opspec = operspec(sys,[3,4,5]);

输入参数

全部折叠

金宝appSimulink模型名称,指定为字符向量或字符串。

数组尺寸,指定为下列之一:

  • Integer -创建列向量昏暗的操作点规范对象。

  • 整数行向量-创建一个操作点规范对象数组,其尺寸由昏暗的

    例如,要创建一个4乘5的工作点规范对象数组,使用:

    Opspec = operspec(mdl,[4,5]);

    若要创建工作点规范对象的多维数组,请指定其他维度。例如,要创建一个2 × 3 × 4的数组,使用:

    Opspec = operspec(mdl,[2,3,4]);

输出参数

全部折叠

操作点规格,返回为OperatingSpec对象或此类对象的数组。

您可以使用点表示法修改工作点规范。例如,如果opspec是单一的OperatingSpec对象,opspec.States(1)方式访问第一个模型状态的状态值。如果opspec的数组。OperatingSpec对象opspec(2、3).Inputs (1) .u访问行中规格的第一个输入块的输入级别2、列3.

每一个OperatingSpec对象具有以下属性。

财产 描述
模型 金宝appSimulink模型名称,作为字符向量返回。

状态操作点规范,作为状态规范对象的向量返回。每一项表示一个Simulink块所支金宝app持的状态。金宝app

有关操作点对象支持的状态列表金宝app,请参见金宝app包含在工作点对象中的Simulink模型状态.属性编辑此对象的属性函数。

请注意

如果块有多个命名的连续状态,为每个已命名状态包含一个结构。

每个状态规范对象都有以下字段:

描述
Nx(只读)

块中的状态数

块路径,作为字符向量返回。

StateName

国家的名字

x

所有支持的块状态的值,指定为金宝app长度向量Nx

如果对应的标志在已知的领域的1x包含已知的状态值。否则,x包含对状态值的初始猜测。

Ts

(仅适用于离散时间状态)每个支持块状态的采样时间和偏移量,以矢量形式返回。金宝app

SampleType

状态时间速率,作为下列之一返回:

  • “CSTATE”—连续时间状态

  • “DSTATE”-离散状态

inReferencedModel

标志,指示该块是否在引用模型中,以以下方式之一返回:

  • 1- Block在参考模型中。

  • 0- Block在当前模型文件中。

已知的

标志,指示在修剪期间是否知道状态值,指定为长度的逻辑向量Nx

  • 1-搜索工作点时固定的已知值

  • 0(默认)-优化发现未知值

若要在操作点搜索期间固定状态,请设置相应的已知的旗帜1属性指定该状态的值x的属性

稳态

标志,指示在修剪期间输出值是否处于稳定状态,指定为长度的逻辑向量Nx

  • 1(默认)-平衡态

  • 0-非平衡态

最小值

状态值的最小边界,指定为长度向量Nx.缺省情况下,每个状态的最小边界为

马克斯

状态值的最大边界,指定为长度向量Nx.缺省情况下,每个状态的最大边界为

dxMin

非稳态状态导数的最小边界,以长度向量表示Nx.默认情况下,每个状态导数的最小界为.当你指定一个导数界时,你也必须设置稳态0

dxMax

非稳态状态导数的最大边界,以长度向量表示Nx.默认情况下,每个状态导数的最大范围是.当你指定一个导数界时,你也必须设置稳态0

描述

块状态描述,指定为字符向量。

输入

操作点上的输入级规范,作为输入规范对象的向量返回。每一项输入表示模型中一个根级导入块的输入级别。

每个输入规范对象都有以下字段:

描述
ν(只读)

输入块信号个数

导入块名称

PortDimensions

输入接受的信号的维度

u

在操作点处输入块输入电平,作为长度向量返回PortWidth

如果对应的标志在已知的领域的输入1u包含已知的输入值。否则,u包含输入值的初始猜测。

已知的

标记,指示在修整期间是否知道输入级别,指定为长度的逻辑向量PortWidth

  • 1-已知输入水平,在工作点搜索时固定

  • 0(默认)-通过优化发现未知的输入级别

若要在工作点搜索期间固定输入级别,请设置相应的已知的旗帜1属性指定输入值u的属性输入

最小值

输入级别的最小边界,指定为长度向量PortWidth.缺省情况下,每个输入的最小限制为

马克斯

输入级别的最大边界,指定为长度向量PortWidth.缺省情况下,每个输入的最大限制为

描述

输入块输入描述,指定为字符向量。

输出

操作点的输出级规格,作为输出规格对象的矢量返回。每一项输出表示模型的一个根级输出块或模型中的一个修整输出约束的输出级别。

可以使用命令指定额外的修剪输出约束addoutputspec

每个输出规范对象都有以下字段:

描述
纽约(只读)

输出端口块信号的个数

输出端口块名称

PortNumber

模型中该输出端口的编号

y

输出块在作业点的输出级别,指定为长度向量PortWidth

如果对应的标志在已知的领域的输出1y包含已知的输出值。否则,y包含对输出值的初始猜测。

已知的

标志,指示在修剪期间是否知道输出级别,指定为长度的逻辑向量PortWidth

  • 1-已知的输出水平,在工作点搜索时是固定的

  • 0(默认)-优化发现未知的输出级别

若要在工作点搜索期间固定输出级别,请设置相应的已知的旗帜1属性指定输出值y的属性输出

最小值

输出级别的最小边界,指定为长度向量PortWidth.默认情况下,每个输出的最小边界为

马克斯

输出级别的最大边界,指定为长度向量PortWidth.默认情况下,每个输出的最大限制为

描述

输出块输入描述,指定为字符向量。

时间

计算模型中时变函数的时间,作为向量返回。

CustomObjFcn

函数,提供额外的自定义目标函数用于修剪,指定为自定义函数的句柄,或包含函数名的字符向量或字符串。自定义函数必须在MATLAB上®路径或当前工作文件夹中。

您可以将自定义目标函数指定为模型状态、输入和输出的代数组合。有关更多信息,请参见使用自定义约束和目标函数计算工作点

CustomConstrFcn

提供额外的自定义修剪约束的函数,指定为自定义函数的句柄,或包含函数名的字符向量或字符串。自定义函数必须在MATLAB路径或当前工作文件夹中。

您可以将自定义的等式和不等式约束指定为模型状态、输入和输出的代数组合。有关更多信息,请参见使用自定义约束和目标函数计算工作点

CustomMappingFcn

函数,该函数将模型状态、输入和输出映射到所接受的向量CustomConstrFcn而且CustomObjFcn,指定为自定义函数的句柄,或包含函数名的字符向量或字符串。自定义函数必须在MATLAB路径或当前工作文件夹中。

对于复杂的模型,您可以使用自定义映射函数将模型输入、输出和状态的子集传递给自定义约束和目标函数。如果指定了自定义映射,则必须将该映射用于自定义约束函数和自定义目标函数。有关更多信息,请参见使用自定义约束和目标函数计算工作点

提示

  • 若要显示工作点规范对象属性,请使用得到

  • 你可以创建新的operspec的变量有3种:

    • 属性构造一个新对象operspec命令。

    • 使用=(=)操作符赋值创建一个新变量。

    • 复制一个operspec对象使用复制命令。

    使用operspec复制创建一个新的独立对象。当你使用赋值时,旧变量和新变量之间有一个链接。有关示例,请参见复制一个操作点规范

版本历史

R2006a之前介绍

全部展开