主要内容

查找

稳态工作点从规格(微调)或模拟

描述

例子

op.= findop (MDL.OPSPEC.中满足规范的模型的操作点OPSPEC..通常,您将修剪模型稳态操作点.Simu金宝applink.®模型必须打开。如果OPSPEC.是一系列操作点规格,查找返回对应操作点的数组。

例子

op.= findop (MDL.OPSPEC.帕纳根据中指定的参数值变化批量修剪模型帕纳

例子

op.= findop (___选项采用附加优化算法对模型进行裁剪选项

例子

op.opreport.) = findop (___返回操作点搜索报告,opreport.,用于前面的任何语法。

例子

op.= findop (MDL.Tsnapshot.利用模型初始条件对模型进行仿真,并在指定的仿真快照时间提取运行点Tsnapshot.

例子

op.= findop (MDL.Tsnapshot.帕纳对模型进行仿真,并在仿真快照时间提取操作点。

例子

全部收缩

打开Simulin金宝appk模型。

mdl ='水箱';Open_System(MDL)

修剪模型以找到水箱水平的稳态工作点10.

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

opspec = operspec (mdl);

为第一个模型状态配置规范。第一个状态必须是具有下界的稳态0.提供一个初步的猜测2对于国家价值。

opspec.States(1)。稳态= 1;opspec.States(1)。x = 2;opspec.States(1)。最小值= 0;

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

opspec.states(2).known = 1;opspec.states(2).x = 10;

找到满足这些规范的操作点。

op = condop(mdl,opspec);
作业点搜索报告:---------------------------------型号水箱作业点搜索报告。(t=0时时变组件评估)工作点规范成功满足。状态:----------(1.)水箱/PID控制器/积分器/连续/积分器x: 1.26 dx: 0(0)(2.)水箱/水箱系统/H x: 10 dx: 0(0)输入:无----------输出:无----------

打开Simulin金宝appk模型。

mdl ='水箱';Open_System(MDL)

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

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

创建一个参数结构阵列,指定每个参数的名称和网格点。

Params(1).name ='一种';params(1).value = a_grid;Params(2).name ='B';params(2).value = b_grid;

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

opspec = operspec (mdl);

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

opt = findopoptions(“DisplayReport”'离开');op = findop (mdl、opspec params,选择);

op.是一个3×4阵列的操作点对象,对应于指定的参数网格点。

打开Simulin金宝appk模型。

mdl ='水箱';Open_System(MDL)

创建默认的操作点规范对象。

opspec = operspec (mdl);

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

opt = findopoptions('Optimizertype''毕恭牙'“DisplayReport”'离开');

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

OP = SINDOP(MDL,OPSPEC,OPT);

打开Simulin金宝appk模型。

mdl ='水箱';Open_System(MDL)

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

opspec = operspec (mdl);

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

opspec.States(1)。稳态= 1;opspec.States(1)。x = 2;opspec.States(1)。最小值= 0;

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

opspec.states(2).known = 1;opspec.states(2).x = 10;

找到满足这些规范的操作点,并返回操作点搜索报告。创建一个选项设置以禁止搜索报告显示。

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

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

opreport.
Model Watertank的操作点搜索报告。(t=0时时变组件评估)工作点规范成功满足。状态:----------(1.)水箱/PID控制器/积分器/连续/积分器x: 1.26 dx: 0(0)(2.)水箱/水箱系统/H x: 10 dx: 0(0)输入:无----------输出:无----------

dx是每个州的时间衍生。既然dx值为零时,工作点处于稳态。

打开Simulin金宝appk模型。

mdl =“magball”;Open_System(MDL)

对模型进行仿真,提取操作点10.20.时间单位。

op = condop(mdl,[10,20]);

op.是操作点的列向量,每个快照时间有一个元素。

显示第一个操作点。

op (1)
模型马球的操作点。(在时间t = 10评估的时变组分)状态:----------(1.)MAMBALL / CONTROLLER / PID控制器/过滤器/续。过滤器/过滤器X:5.47E-07(2.)Magball / Controller / PID控制器/集成器/连续/积分器X:14(3)Magball /磁性球厂/电流X:7(4.)Magball / Magb Ball /磁性球植物/ DHDT X:8.44E-08(5.)Magball /磁性球厂/高度​​X:0.05输入:无----------

打开仿真软金宝app件模型。

mdl ='水箱';Open_System(MDL)

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

[A_grid, b_grid] = ndgrid (linspace (0.9 * 1.1 * 5),......Linspace(0.9 * B,1.1 * B,4));Params(1).name ='一种';params(1).value = a_grid;Params(2).name ='B';params(2).value = b_grid;

模拟模型和提取工作点05, 和10.时间单位。

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

查找对每个参数值组合进行模型仿真,并在指定的仿真时间提取运行点。

op.是操作点对象的3 × 5 × 4数组。

尺寸(op)
ans = 3 5 4

输入参数

全部收缩

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

用于修剪模型的操作点规范,指定为一个Operspec.对象或一系列Operspec.对象。

如果OPSPEC.是一个数组,查找使用单一模型编译返回相应操作点的数组。

微调的参数样本,指定为以下其中之一:

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

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

      param.name ='v(1)'
    • 价值-参数样本值,指定为双数组。

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

    param.name ='一种';param.value = linspace(0.9 * a,1.1 * a,3);
  • 结构阵列 - 改变多个参数的值。例如,改变参数的值一个b在10%的范围内:

    [A_grid, b_grid] = ndgrid (linspace (0.9 * 1.1 * 3),......Linspace(0.9 * B,1.1 * B,3));Params(1).name ='一种';params(1).value = a_grid;Params(2).name ='B';params(2).value = b_grid;

当您指定参数值变化时,查找Batch为每个参数值组合修剪模型,并返回相应的操作点数组。如果帕纳仅指定可调参数,然后软件批处理使用单个编译对模型进行修剪。

如果您指定OPSPEC.作为一个单一的Operspec.对象和参数值帕纳产生与已知状态冲突的状态OPSPEC.查找使用规格修改模型OPSPEC..在从参数值派生的状态值下修剪模型,指定OPSPEC.作为一个对应的数组Operspec.对象。例如,看到用于参数变化的批量修剪金宝app模拟模型

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

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

输出参数

全部收缩

操作点,作为操作点对象或操作点对象的数组返回。的尺寸op.取决于指定的参数变体和操作点规范或模拟快照时间。

参数变化 找到...的操作点 结果op.
没有参数变化 单个操作点规范,指定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-by-2参数网格。在这种情况下,op.是一个3乘4乘2的操作点数组。

  • Tsnapshot.是一个标量和帕纳指定5×6参数网格。在这种情况下,op.是一个1×5×6阵列的操作点。

  • Tsnapshot.是一排矢量,有三个元素和帕纳指定5×6参数网格。在这种情况下,op.是一个3乘5乘6的操作点数组。

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

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

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

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

请注意

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

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

描述
NX.(只读)

块中的状态数量

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

attnename.

州名称

x

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

TS.

每个支持块状态的采样时间和偏移量,以矢量形式返回。金宝app对于连续时间系统,TS.是零。

SampleType

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

  • “CSTATE”- 连续时间状态

  • “DSTATE”- 离散时间状态

inferencedModel.

指示块是否在参考模型中的标志,作为以下内容之一:

  • 1- Block在一个参考模型中。

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

描述

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

输入

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

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

描述

轮廓尺寸块的名字

PortWidth

Inport块信号的数量

portdimensions.

输入接收信号的尺寸

u

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

描述

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

时间

评估模型中的任何时变函数的时间,作为向量返回。

版本

对象版本号

您可以编辑属性op.使用点表示法或函数。

操作点搜索报告,返回为操作点搜索报告对象。如果op.是一系列操作点对象,然后opreport.是一系列相应的搜索报告。

该报告将自动显示,即使您使用分号抑制输出。若要隐藏报告,请设置displayreport.领域选项'离开'

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

财产 描述
模型

模型财产价值op.

输入

输入财产价值op.

输出

输出财产价值op.,增加了yspec.,这是理想的y价值

状态

状态财产价值op.添加了dx,其中包含状态衍生值。对于离散时间,dx是下一个状态值与当前的差异;那是,xk+ 1) -xk

时间 时间财产价值op.
TerminationString. 优化终止条件,作为字符向量返回。
优化output.

优化算法搜索结果,作为具有以下字段的结构返回:

描述
迭代

优化期间执行的迭代数

funcCount

优化期间执行的函数评估数

lssteplentht

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

一步的大小

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

算法

优化算法使用

firstorderopt

一阶优化测量,用于信任区域反光优化算法;[]对于其他算法

CONSTRVIOMATION.

最大约束函数

消息

退出消息

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

更多关于

全部收缩

稳态工作点(修剪条件)

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

模型可具有若干稳态操作点。例如,悬挂式吊坠摆锤具有两个稳态操作点,在该稳态操作点处,摆锤位置不会随着时间而改变。一个稳定的稳态工作点当摆锤直线悬挂时发生。当摆锤略微偏离时,摆锤总是返回均衡。换句话说,操作点的小变化不会使系统围绕平衡值留下良好的近似区域。

一个稳态工作点不稳定出现摆锤向上时发生。只要摆锤点确切地向上,它保持平衡。然而,当摆稍微偏离这个位置时,它向下摆动,工作点离开平衡值附近的区域。

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

当线性化一个有多个稳态工作点的模型时,有一个正确的工作点是很重要的。例如,围绕稳定稳态工作点线性化一个摆模型会产生一个稳定的线性模型,而围绕不稳定稳态工作点线性化会产生一个不稳定的线性模型。

提示

  • 您可以使用仿真快照或先前计算的操作点初始化操作点搜索initopspec

  • 在操作点线性化模型op.使用线性化

算法

默认,查找使用优化器毕恭普 - 奥利.要使用不同的优化器,请更改值优化型号选项使用findopOptions

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

  • bufferreuse ='关'

  • RTWInlineParameters = ' '

  • blockreductionopt ='关闭'

  • SaveFormat ='structionWithTime'

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

替代功能

应用程序

作为替代查找命令,您可以通过以下方式之一找到操作点。

在R2006A之前介绍