主要内容

findop

稳态工作点来自规范(修整)或模拟

描述

例子

人事处= findop (mdlopspec返回符合中的规范的模型的操作点opspec.通常,你在a处修剪模型稳态工作点.的仿真软金宝app件®模型必须是开放的。如果opspec是操作点规格的数组,findop返回对应工作点的数组。

例子

人事处= findop (mdlopspec参数中的参数值变化对模型进行批处理参数

例子

人事处= findop (___选项采用附加优化算法对模型进行修整选项

例子

人事处opreport= findop(___返回一个操作点搜索报告,opreport,对于前面的任何语法。

例子

人事处= findop (mdltsnapshot利用模型初始条件对模型进行仿真,并在中指定的仿真快照时间处提取操作点tsnapshot

例子

人事处= findop (mdltsnapshot参数批处理使用中指定的参数值变化来模拟模型参数. .在模拟快照时间提取工作点。

例子

全部折叠

打开Simulin金宝appk模型。

mdl =“watertank”;open_system (mdl)

修剪模型以找到水箱液位所在的稳态工作点10

创建默认工作点规范对象。

Opspec = operspec(mdl);

为第一个模型状态配置规范。第一个状态必须处于稳定状态,其下界为0.提供一个初步的猜测2对于状态值。

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

将第二个模型状态配置为值为的已知状态10

opspec.States(2)。已知= 1;opspec.States(2)。X = 10;

找到符合这些规范的工作点。

Op = findop(mdl,opspec);
工作点搜索报告:--------------------------------- opreport =模型水箱工作点搜索报告。(time - varying Components evaluate at time t=0)满足工作点规格。州 : ---------- 最小x最大dxMin dx dxMax  ______ ______ ______ ______ ______ ______ ( 1) watertank / PID控制器/集成商/连续/集成商0 1.2649正0 0 0 (2)watertank /水箱系统/ H 10 10 10 0 0 0输入:没有  ---------- 输出:没有  ----------

打开Simulin金宝appk模型。

mdl =“watertank”;open_system (mdl)

不同的参数一个而且b在其标称值的10%以内,并创建一个3 × 4参数网格。

[A_grid,b_grid] = ndgrid(linspace(0.9*A,1.1*A,3),...linspace (0.9 * b, b 1.1 * 4));

创建一个参数结构数组,为每个参数指定名称和网格点。

参数(1)。Name =“一个”;参数(1)。价值= A_grid; params(2).Name =“b”;参数(2)。价值= b_grid;

为模型创建一个默认的操作点规范。

Opspec = operspec(mdl);

使用指定的工作点规范和参数网格修整模型。

opt = findopOptions(“DisplayReport”“关闭”);Op = findop(mdl,opspec,params,opt);

人事处对应于指定参数网格点的操作点对象的3 × 4数组。

打开Simulin金宝appk模型。

mdl =“watertank”;open_system (mdl)

创建一个默认的工作点规范对象。

Opspec = operspec(mdl);

创建一个选项集,将优化器类型设置为梯度下降并抑制搜索报告显示。

opt = findopOptions(“OptimizerType”“graddescent”“DisplayReport”“关闭”);

使用指定的选项集修剪模型。

Op = findop(mdl,opspec,opt);

打开Simulin金宝appk模型。

mdl =“watertank”;open_system (mdl)

创建默认工作点规范对象。

Opspec = operspec(mdl);

为第一个模型状态配置规范。

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

为第二个模型状态配置规范。

opspec.States(2)。已知= 1;opspec.States(2)。X = 10;

找到符合这些规范的工作点,并返回工作点搜索报告。创建一个选项集来屏蔽搜索报告的显示。

opt = findopOptions(“DisplayReport”、假);[op,opreport] = findop(mdl,opspec,opt);

opreport描述优化算法在操作点搜索结束时满足规范的程度。

opreport
opreport =模型水箱的工作点搜索报告。(time - varying Components evaluate at time t=0)满足工作点规格。州 : ---------- 最小x最大dxMin dx dxMax  ______ ______ ______ ______ ______ ______ ( 1) watertank / PID控制器/集成商/连续/集成商0 1.2649正0 0 0 (2)watertank /水箱系统/ H 10 10 10 0 0 0输入:没有  ---------- 输出:没有  ----------

dx是每个状态的时间导数。因为所有的dx数值为零时,工作点处于稳态。

打开Simulin金宝appk模型。

mdl =“magball”;open_system (mdl)

对模型进行仿真,在10而且20.时间单位。

Op = findop(mdl,[10,20]);

人事处是工作点的列向量,每个快照时间有一个元素。

显示第一个工作点。

op (1)
ans =模型磁力球的工作点。(时间t=10时的时变分量)状态:---------- x __________(1.)磁球/控制器/PID控制器/滤波器/控制。滤波器/滤波器5.4732e-07(2.)磁球/控制器/PID控制器/积分器/连续/积分器14.0071(3.)磁球/磁球装置/电流7.0036(4.)磁球/磁球装置/dhdt 8.443e-08(5.)磁球/磁球装置/高度0.05输入:无----------

打开Sim金宝appulink模型。

mdl =“watertank”;open_system (mdl)

指定参数值。参数网格是5 × 4数组。

[A_grid,b_grid] = ndgrid(linspace(0.9*A,1.1*A,5),...linspace (0.9 * b, b 1.1 * 4));参数(1)。Name =“一个”;参数(1)。价值= A_grid; params(2).Name =“b”;参数(2)。价值= b_grid;

对模型进行仿真,在05,10时间单位。

Op = findop(mdl,[0 5 10],params);

findop模拟每个参数值组合的模型,并在指定的仿真时间提取工作点。

人事处是操作点对象的3 × 5 × 4数组。

大小(op)
Ans = 3 5 4

输入参数

全部折叠

金宝appSimulink模型名称,指定为字符向量或字符串。模型必须在当前工作文件夹中或MATLAB中®路径。

切边模型的操作点规格,指定为OperatingSpec对象的数组OperatingSpec创建的对象。operspec函数。

如果opspec是一个数组,findop使用单个模型编译返回相应工作点的数组。

用于修整的参数样本,指定为以下之一:

  • 结构-通过指定改变单个参数的值参数作为具有以下字段的结构:

    • 的名字—参数名称,以字符向量或字符串形式指定。您可以在模型工作空间、MATLAB工作空间或数据字典中指定任何变量的模型参数。如果模型使用的变量不是标量变量,则将参数名称指定为解析为数值标量值的表达式。例如,使用向量的第一个元素V作为参数,使用:

      参数。Name =“V(1)”
    • 价值-参数样例值,指定为双数组。

    例如,改变参数的值一个在10%范围内:

    参数。Name =“一个”;参数。价值= linspace(0.9*A,1.1*A,3);
  • 结构数组-改变多个参数的值。例如,改变参数的值一个而且b在10%范围内:

    [A_grid,b_grid] = ndgrid(linspace(0.9*A,1.1*A,3),...linspace (0.9 * b, b 1.1 * 3));参数(1)。Name =“一个”;参数(1)。价值= A_grid; params(2).Name =“b”;参数(2)。价值= b_grid;

当指定参数值变化时,findop批处理为每个参数值组合修剪模型,并返回相应工作点的数组。如果参数只指定可调参数,然后软件批处理使用单个编译来修整模型。

如果你指定opspec作为一个单身operspec中的参数值参数生成与已知状态冲突的状态opspecfindop中的规格对模型进行修剪opspec.若要在从参数值派生的状态值处修剪模型,请指定opspec作为对应的数组operspec对象。有关示例,请参见参数变化的批量修剪Si金宝appmulink模型

修剪选项,指定为findopOptions选项设置。

模拟快照时间,用于提取模型的工作点,为单个快照指定为标量,为多个快照指定为矢量。findop模拟模型,并在每个快照时间计算模型状态的操作点。

输出参数

全部折叠

操作点,返回为OperatingPoint对象的数组OperatingPoint对象。的维度人事处取决于指定的参数变化和操作点规格或模拟快照时间。

参数变化 为…找到操作点 结果人事处
无参数变化 单个操作点规范,由opspec 单个操作点对象
单个快照时间,由tsnapshot
N1——- - - - - -...——- - - - - -N操作点规范数组,由opspec N1——- - - - - -...——- - - - - -N
N年代快照,由tsnapshot 长度列向量N年代
N1——- - - - - -...——- - - - - -N参数grid,由参数 单个操作点规范,由opspec N1——- - - - - -...——- - - - - -N
单个快照时间,由tsnapshot
N1——- - - - - -...——- - - - - -N操作点规范数组,由opspec
N年代快照,由tsnapshot N年代——- - - - - -N1——- - - - - -...——- - - - - -N

例如,假设:

  • opspec是单个操作点规范对象和参数指定一个3 × 4 × 2参数网格。在这种情况下,人事处是一个3 × 4 × 2的工作点数组。

  • tsnapshot是标量,且参数指定一个5乘6的参数网格。在这种情况下,人事处是一个1 × 5 × 6的工作点数组。

  • tsnapshot一个有三个元素和的行向量吗参数指定一个5乘6的参数网格。在这种情况下,人事处是一个3 × 5 × 6的工作点数组。

每个操作点对象具有以下属性:

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

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

有关操作点对象支持的状态列表金宝app,请参见金宝app包含在工作点对象中的Simulink模型状态

请注意

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

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

描述
Nx(只读)

块中的状态数

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

StateName

国家的名字

x

所有支持的块状态的值,作为长金宝app度向量返回Nx

Ts

每个支持的块状态的采样时间和偏移量,作为一个矢量返回。金宝app对于连续时间系统,Ts是零。

SampleType

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

  • “CSTATE”—连续时间状态

  • “DSTATE”-离散状态

inReferencedModel

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

  • 1- Block在参考模型中。

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

描述

块状态描述,作为字符向量返回。

输入

在操作点处的输入电平,作为输入对象的矢量返回。每一项输入表示模型中一个根级导入块的输入级别。

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

描述
ν(只读)

输入块信号个数

导入块名称

PortDimensions

输入接受的信号的维度

u

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

描述

输入块输入描述,作为字符向量返回。

时间

模型中任何时变函数被求值的时间,作为向量返回。

版本

对象版本号

的属性人事处使用点符号或函数。

操作点搜索报告,返回为OperatingReport对象。如果人事处的数组。OperatingPoint对象,那么opreport数组是否对应OperatingReport对象。

即使您使用分号禁止输出,该报告也会自动显示。要隐藏报表,请设置DisplayReport选项“关闭”

每个工作点搜索报告具有以下属性:

财产 描述
模型

模型物业价值人事处

输入

输入物业价值人事处

输出

在计算的工作点输出值。对象包含的字段与输出的属性opspec,加上yspec,即期望输出值。

物业价值人事处加上dx,其中包含状态导数值。对于离散时间状态,dx是下一个状态值与当前状态值之间的差值;也就是说,xk+ 1) -xk

时间 时间物业价值人事处
TerminationString 优化终止条件,作为字符向量返回。
OptimizationOutput

优化算法搜索结果,以结构形式返回,包含以下字段:

描述
迭代

优化期间执行的迭代次数

funcCount

优化期间执行的函数计算的数量

lssteplength

直线搜索步长相对于搜索方向的大小(仅限主动集优化算法)

stepsize

最终迭代时状态向量的位移(有源集和内点优化算法)

算法

所使用的优化算法

firstorderopt

信赖域反射优化算法的一阶优化测度[]对于其他算法

constrviolation

约束函数的最大值

消息

退出消息

有关优化算法的更多信息,请参阅优化工具箱™文档。

更多关于

全部折叠

稳态工作点(整流状态)

一个稳态工作点一个模型,也称为均衡或修剪条件,包括不随时间变化的状态变量。

一个模型可以有几个稳态工作点。例如,悬挂阻尼摆有两个稳态工作点,在这两个工作点上,摆的位置不随时间变化。一个稳定的稳态工作点当钟摆垂直向下悬挂时发生。当钟摆位置稍有偏离时,钟摆总能恢复平衡。换句话说,工作点的微小变化不会导致系统离开平衡值附近的良好近似区域。

一个不稳定稳态工作点当钟摆指向上方时发生。只要钟摆指向完全向上,它保持平衡。然而,当钟摆稍微偏离这个位置时,它就会向下摆动,工作点就会离开平衡值附近的区域。

当使用优化搜索来计算非线性系统的工作点时,您对状态和输入水平的初始猜测必须接近所需的工作点,以确保收敛。

在线性化具有多个稳态工作点的模型时,确定正确的工作点是非常重要的。例如,围绕稳定的稳态工作点线性化一个摆模型会得到一个稳定的线性模型,而围绕不稳定的稳态工作点线性化则会得到一个不稳定的线性模型。

提示

  • 可以在模拟快照或以前计算的工作点上初始化工作点搜索initopspec

  • 在工作点处线性化模型人事处使用线性化

算法

默认情况下,findop使用优化器graddescent-elim.要使用不同的优化器,请更改的值OptimizerType选项使用findopOptions

findop自动设置这些Simulink模型属性以进行优化:金宝app

  • BufferReuse = 'off'

  • RTWInlineParameters = 'on'

  • BlockReductionOpt = 'off'

  • 保存格式= 'StructureWithTime'

优化完成后,Simulink恢复原始模型属性。金宝app

选择功能

应用程序

作为一种替代findop命令时,您可以通过以下方式之一找到工作点。

版本历史

R2006a之前介绍

全部展开