主要内容

sdo.requirements.FunctionMatching类

包:sdo.requirements
超类:

对变量施加函数匹配约束

描述

使用sdo.requirements.FunctionMatching对象,在Simulink中对变量的值施加函数匹配约束金宝app®模型。变量可以是向量、矩阵或作为模型参数的多维数组,例如模型中查找表的数据。您创建需求对象,并指定希望变量匹配的线性或二次函数。例如,对于一个二维变量,您可以指定来自因变量的测试数据V匹配一个自变量的线性函数X1X2

V 一个 0 + 一个 1 X 1 + 一个 2 X 2

在那里,一个0一个1,一个2拟合系数是和吗X1X2是向量。

您使用evalRequirement方法来评估您的测试数据是否满足指定的要求,并指定自变量向量作为方法的输入。该软件利用自变量和检验数据计算拟合系数,然后计算检验数据与自变量指定函数之间的误差。

您可以使用需求对象作为您的输入成本函数并使用evalRequirement命令成本函数来评估需求。然后你可以使用成本函数和sdo.optimize在满足规定要求的前提下,进行响应优化。如果您正在进行敏感性分析,在生成参数样本之后,您可以使用成本函数和sdo.evaluate评估每个生成的样本的需求。

建设

要求= sdo.requirements.FunctionMatching创建一个sdo.requirements.FunctionMatching对象并将默认值分配给它的属性。使用点符号自定义属性。使用evalRequirement命令,评估测试数据是否满足指定的要求。

要求= sdo.requirements.FunctionMatching (名称,值使用由一个或多个指定的附加选项创建需求对象名称,值对参数。的名字是一个属性名价值为对应值。的名字必须出现在单引号内().可以以任意顺序指定多个名称-值对参数Name1, Value1,…,的家

输入参数

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

使用名称,值参数指定属性在对象创建期间的需求对象。例如,要求= sdo.requirements.FunctionMatching(“类型”,“二次”)创建一个sdo.requirements.FunctionMatching对象,并指定要匹配为二次型的函数。

属性

全部展开

从输入的自变量向量中减去的值evalRequirement方法,指定为长度等于独立变量数量的向量。自变量的数量等于测试数据的维数。例如,假设您指定中心作为(1 2)对于两个独立变量的二维变量。软件减去1从第一个独立变量向量和2从第二个独立变量向量。

指定中心当一个或多个独立变量向量的均值与0相差几个数量级时,改进数值条件。如果不指定自变量向量,则软件不使用中心

的默认值中心[0 0],是一个二维变量。对于其他维度的变量,改变尺度中心属性一起使用命令。例如,请参见求一维变量的函数匹配要求

数据类型:

需求描述,指定为字符向量。

例子:“myModel的需求1”

数据类型:字符

在需求评估过程中处理误差的方法evalRequirement命令。该命令计算一个错误信号,该错误信号是测试数据与函数中指定的自变量之间的差值类型财产。方法指定如何进一步处理错误。方法指定为下列值之一:

  • 上交所的-误差平方和

  • SAE的-误差绝对值之和

  • “残差”——错误

数据类型:字符

要求的名称,指定为字符向量。

例子:“Requirement1”

数据类型:字符

对输入的自变量向量进行缩放evalRequirement方法,指定为长度等于自变量个数的向量。自变量的数量等于测试数据的维数。自变量向量除以相应的尺度值减去中心值。

例如,假设您指定中心作为50 [5]尺度作为[100]对于两个独立变量的二维变量。软件减去5从第一个独立变量向量,并将结果除以10.软件减去50从第二个独立变量向量出发,并将结果除以One hundred.

指定尺度当独立变量向量之间相差几个数量级时,改善数值条件。如果不指定自变量向量,则软件不使用尺度

的默认值尺度[1],是一个二维变量。对于其他维度的变量,改变尺度中心属性一起使用命令。例如,请参见求一维变量的函数匹配要求

数据类型:

要匹配的函数,指定为下列函数之一:

  • “线性”-来自因变量的测试数据V都符合线性函数。例如,对于一个二维的自变量,X1X2,线性函数的形式为:

    V 一个 0 + 一个 1 X 1 + 一个 2 X 2

    当你使用evalRequirement为了评估对测试数据的需求,该软件计算拟合系数一个0一个1,一个2然后计算出测试数据与线性函数之间的误差。

  • “purequadratic”-测试数据拟合为无交叉项的二次函数。对于二维变量,纯二次函数的形式为:

    V 一个 0 + 一个 1 X 1 + 一个 2 X 1 2 + 一个 3. X 2 + 一个 4 X 2 2

  • “二次”-测试数据拟合一个包含交叉项的二次函数。对于二维变量,二次函数的形式为:

    V 一个 0 + 一个 1 X 1 + 一个 2 X 1 2 + 一个 3. X 2 + 一个 4 X 2 2 + 一个 5 X 1 X 2

    如果测试数据是一维的,则没有交叉项,因此计算与时相同类型“purequadratic”

数据类型:字符

方法

evalRequirement 评估功能匹配需求的满意度

复制语义

句柄。要了解句柄类如何影响复制操作,请参见复制对象

例子

全部折叠

创建一个需求对象,将匹配需求的函数加到变量的值上。

要求= sdo.requirements.FunctionMatching;

对象使用默认属性创建,并指定来自变量的测试数据必须与线性函数匹配。

指定测试数据必须匹配没有交叉项的二次函数。

要求。类型=“purequadratic”

你现在可以使用evalRequirement命令,评估测试数据是否满足要求。

为二维变量创建匹配需求对象的函数,并为自变量指定缩放和居中值。

中心尺度属性被指定为长度等于独立变量数量的向量。自变量的数量等于测试数据的维数。

要求= sdo.requirements.FunctionMatching (“中心”, 10 [5],...“尺度”[100]);

将独立变量指定为evalRequirement命令,软件进行减法5从第一个自变量开始,然后除以结果10.软件减去50从第二个自变量,然后除以结果One hundred.

创建一个需求对象来将一维变量数据与线性函数匹配。

要求= sdo.requirements.FunctionMatching;

指定中心尺度属性的命令。您指定这些属性是因为它们的默认值是用于二维变量的。

集(要求,“中心”0,“尺度”1);

为一维变量指定测试数据。

dependentVariable = 0.5 + 5。* (1:5);

评估的要求。

评估= evalRequirement(要求,dependentVariable)
评价= 5.6798 e-30

该软件使用默认的自变量向量计算线性函数[0 1 2 3 4]因为你没有指定任何自变量向量。有一个自变量,因为自变量的数量必须等于测试数据的维数。自变量向量的大小等于测试数据的大小。

在本例中,处理方法的默认值为上交所的,所以评价作为等于误差平方和的标量值返回。评价非常接近于零,说明dependentVariable测试数据几乎符合线性函数。注意,机器精度会影响值评价在这么小的值。

介绍了R2016b