主要内容

operspec

操作点规范

描述

实例

操作规范= operspec (mdl)返回Simulink的默认操作点规范对象金宝app®模型mdl. 使用操作规范对于稳态工作点微调,使用芬多普

实例

操作规范= operspec (mdl,暗淡的)返回具有指定维度的默认操作点规范对象数组,暗淡的

例子

全部崩溃

打开Sim金宝appulink模型。

系统=“watertank”;开放式系统(sys)

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

操作规范=操作规范(系统)
型号水箱的操作点规范。(time - varying Components evaluate at time t=0) States: ---------- (1.) watertank/PID Controller/Integrator/Continuous/Integrator spec: dx =0, initial guess: 0 (2.) watertank/ watertank System/H spec: dx =0, initial guess: 1 Inputs: None ---------- Outputs: None ----------

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

使用点符号修改每个状态的工作点规格。例如,将第一个状态配置为:

  • 处于稳定状态。

  • 下界0

  • 初始值是2.用于修剪。

操作规范状态(1)。稳定状态=1;操作规范状态(1)。x=2;操作规范状态(1)。最小值=0;

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

  • 使用operspec命令

  • 使用等号赋值(=)接线员

  • 使用复制命令

使用=运算符生成的链接变量都指向相同的基础数据复制命令生成一个独立的operspec在本例中,创建operspec对象的两种方式,并检查他们的行为。

mdl =“watertank”;开放式系统(mdl);opspec1=operspec(mdl)
型号水箱的操作点规范。(time - varying Components evaluate at time t=0) States: ---------- (1.) watertank/PID Controller/Integrator/Continuous/Integrator spec: dx =0, initial guess: 0 (2.) watertank/ watertank System/H spec: dx =0, initial guess: 1 Inputs: None ---------- Outputs: None ----------

使用带有的赋值创建新的操作点规范对象=操作人员

opspec2=opspec1;

opspec2是一个operspec对象,该对象指向与opspec1。由于此链接,您无法单独更改这两个的属性operspec对象。若要查看此信息,请更改的属性opspec2.例如,将第一个状态的初始值从0更改为2。变化表现在显示的一部分。

opspec2.States(1)。x = 2
型号水箱的操作点规范。(time - varying Components evaluate at time t=0) States: ---------- (1.) watertank/PID Controller/Integrator/Continuous/Integrator spec: dx =0, initial guess: 2 (2.) watertank/ watertank System/H spec: dx =0, initial guess: 1 Inputs: None ---------- Outputs: None ----------

检查opspec1要查看相应的属性值opspec1也会从0更改为2。

opspec1
型号水箱的操作点规范。(time - varying Components evaluate at time t=0) States: ---------- (1.) watertank/PID Controller/Integrator/Continuous/Integrator spec: dx =0, initial guess: 2 (2.) watertank/ watertank System/H spec: dx =0, initial guess: 1 Inputs: None ---------- Outputs: None ----------

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

opspec3=副本(opspec1);

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

opspec3.状态(1).x=4
模型水箱的工作点规范。(在时间t=0时评估的时变组件)状态:-------------(1)水箱/PID控制器/积分器/连续/积分器规范:dx=0,初始猜测:4(2)水箱/水箱系统/H规范:dx=0,初始猜测:1输入:无-----------输出:无----------

在里面opspec1,相应的值保持为2。

opspec1.States(1.x)
ans = 2

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

打开Sim金宝appulink模型。

系统=“watertank”;开放式系统(sys)

创建一个操作点规范对象的2 × 3数组。您可以使用这些数组在多个操作点批处理修剪模型。

opspec = operspec (sys,[2、3]);

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

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

opspec(1、3).States(2)。稳态= 1;opspec(1、3).States(1)。x = 2;

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

opspec=operspec(系统[3,4,5]);

输入参数

全部崩溃

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

数组维度,指定为以下维度之一:

  • 整数-创建一个暗淡的操作点规范对象。

  • 由指定的维数创建操作点规范对象的数组暗淡的

    例如,要创建操作点规范对象的4×5数组,请使用:

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

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

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

输出参数

全部崩溃

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

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

每个规范对象都具有以下属性:

所有物 描述
模型 金宝appSimulink模型名称,作为字符向量返回。

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

有关操作点对象支持的状态列表金宝app,请参见金宝app工作点对象中包含的Simulink模型状态.使用点符号或设置作用

笔记

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

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

领域 描述
Nx(只读)

块中的状态数

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

州名

州名

x

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

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

Ts

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

样本类型

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

  • “CSTATE”——连续时间状态

  • “数据状态”——离散时间状态

参考模型

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

  • 1.-块位于参考模型内。

  • 0-块位于当前模型文件中。

已知的

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

  • 1.-在工作点搜索期间固定的已知值

  • 0(默认)-优化找到的未知值

若要在工作点搜索期间固定某个状态,请设置相应的已知的旗帜1.,并使用x性质

稳态

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

  • 1.(默认)-平衡状态

  • 0-非平衡态

最小值

状态值的最小界限,指定为长度向量Nx. 默认情况下,每个状态的最小界限为-Inf

马克斯

状态值的最大界限,指定为长度向量Nx. 默认情况下,每个状态的最大界限为Inf

dxMin

非稳态状态的状态导数的最小界限,指定为长度向量Nx.默认情况下,每个州导数的最小界限为-Inf. 指定导数边界时,还必须设置稳态0

dxMax

非稳态状态导数的最大界,指定为长度向量Nx. 默认情况下,每个状态导数的最大界限为Inf. 指定导数边界时,还必须设置稳态0

描述

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

投入

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

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

领域 描述

输入块名称

端口宽度

输入块信号数

端口尺寸

输入端口接受的信号尺寸

U

操作点的输入块输入电平,作为长度向量返回端口宽度

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

已知的

指示修剪期间输入级别是否已知的标志,指定为长度的逻辑向量端口宽度

  • 1.-工作点搜索期间固定的已知输入电平

  • 0(默认)-优化找到未知的输入级别

要在工作点搜索期间固定输入电平,请设置相应的已知的旗帜1.,并使用U性质投入

最小值

输入级别上的最小界限,指定为长度向量端口宽度。默认情况下,每个输入的最小界限为-Inf

马克斯

输入级别的最大界限,指定为长度向量端口宽度.默认情况下,每个输入的最大限制是Inf

描述

输入块输入说明,指定为字符向量。

输出

操作点的输出级规范,作为输出规范对象的向量返回。中的每个条目输出表示模型的一个根级别输出端口块或模型中的一个修剪输出约束的输出级别。

使用下面的命令可以指定额外的trim输出约束addoutputspec

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

领域 描述

外港块的名字

端口宽度

输出模块信号数

PortNumber

模型中这个出口的编号

Y

输出端口块在工作点的输出电平,指定为长度向量端口宽度

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

已知的

指示修剪期间输出级别是否已知的标志,指定为长度的逻辑向量端口宽度

  • 1.-工作点搜索期间固定的已知输出电平

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

若要在工作点搜索期间固定输出级别,请设置相应的已知的旗帜1.,并使用Y性质输出

最小值

输出级别上的最小界限,指定为长度向量端口宽度. 默认情况下,每个输出的最小界限为-Inf

马克斯

输出级别的最大边界,指定为长度向量端口宽度。默认情况下,每个输出的最大界限为Inf

描述

输出端口块输入说明,指定为字符向量。

时间

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

CustomObjFcn

函数提供一个附加的自定义目标函数进行修剪,指定为自定义函数的句柄,或包含函数名称的字符向量或字符串。自定义函数必须位于MATLAB上®当前工作文件夹中的路径或。

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

CustomConstrFcn

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

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

CustomMappingFcn

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

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

提示

  • 要显示操作点规范对象属性,请使用收到

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

    • 使用operspec命令。

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

    • 抄袭operspec使用复制命令。

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

之前介绍过的R2006a