EbsIdent 的作用是识别在循环中出现的量。一般来说,任何一个取决于某些输入值的目标量可以被观察到。一个目标量可以是,在计算后循环中得到的任意量,比如说
在大多数情况下,EbsIdent 用于组件识别,也就是说,这时目标量是一个组件的属性。
输入量可以是循环中可用的任意量,例如
通过下面的例子简单说明:
假设名为"A"的管道上的温度(在 EbsScript 中符号为:"A.T")是由 B 管道的压力和 C 管道的质量流量决定的:
A.T := f (B.P, C.M);
请注意,确定识别方法是识别中最重要的一步。这需要投入足够的时间来确定一套合适的变量,以描述目标变量的行为。EbsIdent 几乎可以用任何方法进行计算,但如果没有选择一个合理的方法,其结果或多或少都是没有价值的。
EbsIdent 的任务时确定函数关系 f,具体步骤如下:
必须为 f 找到一个取决于输入变量和(如果需要)附加参数表达式总和的方法,例如
A.T := c1 + c2 * B.P + c3 * C.M + c4 * B.P * B.P + c5 * C.M * C.M + c6 * B.P * C.M;
EbsIdent 能够确定一组系数 c1,...,c6,使 f 的拟合效果最佳。
对于计算,EBSILONProfessional 需要若干数值集(B.P、C.M、A.T)(至少 6 组),给出的数值越多,拟合就越真实。
如果指定了 6 个以上的值集,通常没有一组系数集严格满足 A.T. 的方程式。EbsIdent 确定的是系数集 c1, ..., c6,使所有值集的平均平方误差尽可能小。用这组系数得出的多项式被称为"参考多项式"。
那么现在这些系数的作用是什么呢?只要方法合适,且均方误差足够小,就有两种可能的应用:
如果目标量是一个组件的规格值,可以使用识别的结果来改进 EBSILONProfessional 计算内核中该组件的计算。这可以通过一个在组件内输入的适配多项式来实现。
为了监测目标量,EbsScript 提供了一个计算质量系数(计算优劣程度)的函数。另外,也可以通过直接应用多项式来进行这种计算。在任何情况下,都应该注意这种适配拟合的局限性: