主要内容

getOutputIndex

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

描述

输出工作点规范的属性是一个数组,该数组包含每个模型输出的微调规范。在Simulink中定义一个用于定制裁剪的映射函数金宝app®模型,您可以使用getOutputIndex根据对应的块路径获取输出规范的索引。

当使用基于优化的搜索来裁剪S金宝appimulink模型时,一些应用程序在定义优化搜索参数时需要额外的灵活性。对于这样的系统,您可以指定自定义约束和自定义目标函数。对于复杂的模型,您可以定义一个映射,它选择模型状态、输入和输出的子集来传递给定制的约束和目标函数。有关详细信息,请参见使用自定义约束和目标函数计算工作点

例子

指数= getOutputIndex (人事处返回与之对应的输出规范的索引输出工作点特性规范人事处

例子

指数= getOutputIndex (人事处港口返回输出规范的索引,该索引对应于添加到指定输出的修剪输出约束港口指定的

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

例子

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

例子

全部折叠

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

mdl =“scdindex1”;open_system (mdl)

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

opspec = operspec (mdl);

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

opspec。输出
ans = y Known Min Max _ _____ ____ ___ (1.) scdindex1/Out1 0 false -Inf Inf (2.) scdindex1/Out2 0 false -Inf Inf

获取Out2的输出规范的索引。

idx = getOutputIndex (opspec,“scdindex1 / Out2”
Idx = 2

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

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

mdl =“scdplane”;open_system (mdl)

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

opspec = operspec (mdl);

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

在飞机动力学模型模块的第二个输出端口添加一个输出规范。

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

查看输出数组opspec

opspec。输出
ans = < >强y < /强> < >强知道< /强> < >强Min < /强> <强> Max < /强> <强> _ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)scdplane /α(rad) 0错误负无穷到正无穷(2)scdplane /新西兰飞行员(g) 0错误负无穷到正无穷(3)scdplane /飞机动力学模型0错误负无穷到正无穷

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

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

为来自同一块的第一个输出的信号添加输出规范。

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

查看输出数组opspec

opspec。输出
ans = < >强y < /强> < >强知道< /强> < >强Min < /强> <强> Max < /强> <强> _ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)scdplane /α(rad) 0错误负无穷到正无穷(2)scdplane /新西兰飞行员(g) 0错误负无穷到正无穷(3)scdplane /飞机动力学模型0错误负无穷到正无穷(4)scdplane /飞机动力学型号0 false -Inf Inf

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

index2 = getOutputIndex (opspec,“scdplane /飞机动力学模型”,1)
Index2 = 4

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

mdl =“scdtmp”;open_system (mdl)

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

opspec = operspec (mdl);

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

opspec。输出
ans = < >强y < /强> < >强知道< /强> < >强Min < /强> <强> Max < /强> <强> _ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)scdtmp /着干活假负无穷到正无穷0假负无穷到正无穷0假负无穷到正无穷0假负无穷到正无穷0假负无穷到正无穷0假负无穷到正无穷

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

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

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

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

index2 = getOutputIndex (opspec,“scdtmp /着干活”[], 4)
Index2 = 14

获取元素的索引23.着干活。

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

输入参数

全部折叠

Simulink模型的工作点规范,指定为金宝appOperatingSpecOperatingReport

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

  • 模型的根级输出。

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

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

op.Outputs

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

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

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

op.Outputs .PortNumber(我)

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

输出参数

全部折叠

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

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

使用指数,你可以指定自定义映射的输出部分,用于自定义裁剪Simulink模型。金宝app有关更多信息,请参见CustomMappingFcn的属性operspec

介绍了R2017a