主要内容

getOutputIndex

获取操作点规范的输出元素的索引

描述

输出属性是一个数组,其中包含每个模型输出的微调规范。当定义一个映射函数,用于定制的Simulink微调万博1manbetx®模型,getOutputIndex允许您根据相应的块路径获取输出规范的索引。

当使用基于优化的搜索来调整S万博1manbetximulink模型时,一些应用程序在定义优化搜索参数时需要额外的灵活性。对于这样的系统,您可以指定自定义约束和自定义目标函数。对于复杂的模型,您可以定义一个映射,该映射选择模型状态、输入和输出的子集,以传递给自定义约束和目标函数。有关更多信息,请参见使用自定义约束和目标函数计算操作点

例子

指数= getOutputIndex (人事处返回对应于的输出规范的索引输出操作点规格的性质人事处

例子

指数= getOutputIndex (人事处港口返回与添加到指定输出的trim输出约束相对应的输出规范的索引港口指定的

使用此语法输出的属性人事处包含来自同一块的多个信号的微调输出约束。

例子

指数= getOutputIndex (人事处港口元素返回指定的索引元素在包含多个元素的输出规范中。

例子

全部折叠

打开仿真软万博1manbetx件模型。

mdl =“scdindex1”;open_system (mdl)

为模型创建一个工作点规范。

opspec = operspec (mdl);

opspec包含模型的输出规范数组。

opspec。输出
(1.) scdindex1/Out1 spec: none (2.) scdindex1/Out2 spec: none

获取Out2输出规范的索引。

idx = getOutputIndex (opspec,“scdindex1 / Out2”
1 .保险精算师

第一列idx中包含输出规范的索引opspec。输出.第二列包含输出规范中的元素索引。在这种情况下,输出规范中只有一个元素。

打开仿真软万博1manbetx件模型。

mdl =“scdplane”;open_system (mdl)

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

opspec = operspec (mdl);

除了模型的根级输出外,opspec。输出数组包含添加到信号的微调约束的规范addoutputspec命令。

向来自飞机动力学模型模块的第二个输出端口的信号添加输出规格。

opspec = addoutputspec (opspec,“scdplane /飞机动力学模型”2);

查看的输出数组opspec

opspec。输出
(1.) scdplane/alpha (rad)规格:无(2.)scdplane/Nz Pilot (g)规格:无(3.)scdplane/Aircraft Dynamics Model spec:无

获取添加的输出规范的索引。当给定块的输出端口只有一个输出规范时,您不需要指定端口号来获取输出索引。

index1 = getOutputIndex (opspec,“scdplane /飞机动力学模型”
1 .詹妮弗

向同一块的第一个输出发出的信号添加输出规格。

opspec = addoutputspec (opspec,“scdplane /飞机动力学模型”1);

查看的输出数组opspec

opspec。输出
(1.) scdplane/alpha (rad)规格:无(2.)scdplane/Nz Pilot (g)规格:无(3.)scdplane/飞机动力学模型规格:无(4.)scdplane/飞机动力学模型规格:无(4.)scdplane/飞机动力学模型规格:无

现在有两个输出规范对应于同一个块,每个输出端口一个。获取与输出端口对应的输出规范的索引1飞机动力学模型块。

index2 = getOutputIndex (opspec,“scdplane /飞机动力学模型”, 1)
1 .指数= 1

打开仿真软万博1manbetx件模型。

mdl =“scdtmp”;open_system (mdl)

为模型创建一个操作点规范对象。

opspec = operspec (mdl);

opspec包含输出端口Out1的输出规范,它是一个矢量信号。

opspec。输出
(1) scdtmp/Out1 spec: none spec: none spec: none spec: none spec: none spec: none spec: none spec: none spec: none

获取Out1中所有元素的索引。

index1 = getOutputIndex (opspec,“scdtmp /着干活”
Index1 = 1 1 1 2 1 3 1 4 1 5 1 6

每一行的index1包含Out1中向量信号的一个元素的索引。对象中的Out1端口的输出规范对象的索引opsepc。输出.第二列是输出规范中的元素索引。

您还可以获取输出规范的单个元素或元素子集的索引。获取元素号的索引4着干活。

index2 = getOutputIndex (opspec,“scdtmp /着干活”[], 4)
1 .指数= 1

获取元素的下标23.着干活。

index3 = getOutputIndex (opspec,“scdtmp /着干活”[] 2 [3])
Index3 = 1 2 1 3

输入参数

全部折叠

Simulink模型的操作点规范,指定为万博1manbetxoperspec对象。

的输出规范对应的块路径输出的属性人事处,指定为字符向量或字符串,其中包含以下路径之一:

  • 模型的根级输出。

  • 在模型中添加了输出规范的信号的源块。有关向模型添加输出规范的更多信息,请参见addoutputspec

要查看所有具有输出规范的块,请查看输出的属性人事处

op.Outputs

输出端口,指定为范围内的整数(1, N),在那里N输出端口的数量是否指定.如果是根级输出端口吗N1

如果没有指定港口的输出数组中有一项人事处对应于指定的,则为的默认值港口是该条目的端口号。如果输出数组中有多个项与指定的,则为的默认值港口是第一个条目的端口号。例如,请参见获取添加到信号中的Trim输出规格指标

查询端口的端口号的输出数组中的第Th项人事处类型:

op.Outputs .PortNumber(我)

输出元素索引,指定为小于或等于指定输出的端口宽度的正整数,或由这些整数组成的向量。默认情况下,如果不指定元素getOutputIndex返回选定输出规范中所有元素的索引。例如,请参见获取带有多个元素的输出规范的输出索引

输出参数

全部折叠

输出索引,作为一个2元素的行向量返回元素是整数,还是两列数组元素是一个向量。每一行的指数包含单个输出元素的索引。

第一列指数中对应输出规范的索引输出的属性人事处.第二列包含输出规范中的元素索引。

使用指数,您可以指定自定义映射的输出部分,以便对Simulink模型进行自定义调整。万博1manbetx有关更多信息,请参见CustomMappingFcn的属性operspec

介绍了R2017a