用于计算逆向的、基于数据的函数模型的函数值的方法和装置的制造方法
【专利摘要】本发明涉及一种用来求得所寻找的、用于函数模型的输入数据点的方法,所述输入数据点配属于输出参数的输出值,所述方法具有下述步骤:? 利用输出参数的通过所述函数模型配设的输出值来提供(S1)用于所述函数模型的多个输入数据点;? 根据第一种解决方法来确定(S2,S3)多个输入数据点中的两个输入数据点,配属于这些输入数据点的输出值包括预先给定的输出值;? 在所述两个输入数据点的基础上执行(S4)第二种可靠的收敛的解决方法,以便求得所寻找的输入数据点。
【专利说明】
用于计算逆向的、基于数据的函数模型的函数值的方法和 装置
技术领域
[0001] 本发明涉及函数模型,特别是非线性函数模型的反向计算。此外本发明涉及一种 用于在预先给定输出参数的输出值的情况下求得逆向的、基于数据的函数模型的可能的输 入数据点的方法。
【背景技术】
[0002] 在机动车的控制设备中,通常通过函数模型来实现函数。为了在控制设备中、特别 是在用于内燃发动机的发动机控制设备中执行函数模型,为此除了传统的函数模型之外还 可以设置基于数据的函数模型。基于数据的函数模型还称为非参数的模型并且可以在没有 专门的预先给定的情况下由参阅数据(Trainingsdaten)、即大量的参阅数据点来建立。
[0003] 由现有技术已知具有主计算单元和单独的模型计算单元的控制模块,所述模型计 算单元用于计算控制设备内的基于数据的函数模型。因此例如文献DE 10 2010 028 259 A1公开了一种具有附加的逻辑电路的控制设备作为模型计算单元,所述模型计算单元被设 计用于计算指数函数,以便辅助执行贝叶斯-回归法,其特别地被需要用于计算高斯过程模 型。
[0004] 在这种发动机控制设备中使用的函数模型为一维或多维的输入数据点分配输出 参数的输出值。多个函数模型是极为非线性的并且可以具有带有正和负斜度的区段。
[0005] 针对多种应用情况、特别是针对内燃发动机,由在控制设备中的基于数据的函数 模型足以对函数值进行计算。然而已知这些应用情况,其中需要计算函数模型的逆函数值, 即基于输出参数的预先给定的输出值来计算输入数据点。
[0006]例如通过使用牛顿法能实现,在基于数据的函数模型的预先给定的输出值的基础 上计算出相应的输入数据点,针对所述输入数据点在正向计算函数模型时实现了所述输出 值。然而不能确保,牛顿法针对每个可靠的输出值进行收敛,即牛顿法不针对每个输出值都 提供答案。
【发明内容】
[0007] 根据本发明提出了一种根据权利要求1所述的、用于计算逆向的基于数据的函数 模型的函数值的方法,以及根据并列权利要求所述的相应的装置。
[0008] 其它设计方案在从属权利要求中给出。
[0009] 根据第一方面提出了一种用来求得所寻找的、用于函数模型的输入数据点的方 法,特别是在机动车中的控制设备内用于计算特别是用来控制机动车的内燃发动机的函 数。所寻找的输入数据点配属于输出参数的输出值。所述方法具有下述步骤: -利用输出参数的通过所述函数模型配设的输出值来提供用于所述函数模型的多个 输入数据点; -根据第一种解决方法来确定多个输入数据点中的两个输入数据点,配属于这些输入 数据点的输出值包括预先给定的输出值; -在两个确定的输入数据点的基础上执行第二种可靠的收敛的解决方法,以便求得所 寻找的输入数据点。
[0010]上述方法能够实现可靠地确定配属于预先给定的输出值的输入数据点。
[0011]用于反向计算函数模型的传统方法、例如牛顿法并非总得出答案。就来自所谓的 牛顿分形的输入数据点而言输入数据点从不收敛。而且不能在预先给定的输出值中识别 出,在确定配设的输入数据点时是否出现收敛。
[0012] 通过这两种解决方法的组合可以确保,针对每个预先给定的输出值都可以求得相 应的输入数据点或多个可能的输入数据点之一。为此选择:第一种解决方法,该解决方法与 选择的输出值无关地总是能找到几乎良好的答案;和第二种解决方法,该解决方法总是向 真实的答案进行收敛,只要其存在。
[0013] 上述方法的构思在于这两种解决方法的组合,从而在预先给定的函数模型中能执 行反向计算,所述反向计算可靠地提供了配属于预先给定的输出值的输入数据点。相对于 牛顿法优点在于,即使在反向计算的情况下也能沿正向对基础的函数模型计算,从而相对 于每个输入数据点能确定输出值。
[0014] 通过在反向计算函数模型时也为每个输出值提供输入数据点,可以在控制设备中 使用这种用于对函数进行计算的"反向模型",所述函数总是需要有效的、配属于输出参数 的输出值的输入数据点。
[0015] 此外,所述第一种解决方法可以相应于用于分段线性逼近的逆推法(Inversi-onsverfahren)。替选地或附加地,所述第二种解决方法可以相应于布伦特法。以这种方式 能扩展所述函数模型,从而对反向模型进行计算,所述反向模型针对函数模型的每个输出 值都可靠地提供相应的输入数据点。
[0016] 根据一种实施方式,所述多个被提供的输入数据点可以在输入数据空间中以均匀 分布的方式来布置。
[0017] 可以规定,以一种序列的方式来提供所述多个输入数据点中的两个输入数据点, 所述序列至少关于其输入参数之一以单调变化的方式构成。
[0018] 特别地,可以将第一和第二输入数据点确定为所述多个输入数据点中的两个输入 数据点,其中所述第一输入数据点通过从所述输入数据点的序列中选出所述第一输入数据 点中的一个或多个的这种方式来确定,并且所述第二输入数据点通过从所述输入数据点的 序列中选出最后的输入数据点中的一个或多个的这种方式来确定。
[0019] 此外可以从所述多个输入数据点中选出所述多个输入数据点中的两个输入数据 点,使得所述两个输入数据点关于单调变化的输入参数具有最大可能的间隔。
【附图说明】
[0020] 下面借助附图详细阐述实施方式。其中: 图1示出了基于数据的函数模型的示意图,所述函数模型用于借助于输入数据点来计 算输出参数的输出值; 图2示出了用于说明用来对基于数据的函数模型进行反向计算的方法的流程图;和 图3示出了-基于数据的函数模型的曲线走向的示意图,其中输出值配属于多个输入数 据点。
【具体实施方式】
[0021] 图1示出了函数模型的示意图作为函数块1。在函数块1中实现的函数模型f(x)能 以任意方式来实现,例如作为基于数据的函数模型,例如作为高斯过程模型,并且可以在输 出参数的输出值y上画出一维或多维的(维数η)输入数据点X(输入值的组合)。
[0022] 函数模型例如在机动车内的控制设备中可以被设置用于计算特别是用来控制机 动车的内燃发动机的函数。所述控制设备为此包括数据处理装置,该数据处理装置可以执 行下面描述的方法。
[0023]为了将发动机控制设备中的函数设计用于控制机动车的内燃发动机可能需要反 向计算所执行的函数模型,即为所述输出参数的确定的输出值f配设输入数据点X,其作为 输入参数向量在正向计算(VorwSrtsberechnung)中得出输出参数的输出值y。在使用反向 模型时尤其需要确保,在任何情况下都能为输出参数的预先给定的输出值y提供相应的输 入数据点X。
[0024] 函数的走向几乎可以是任意连续的走向,其中可能出现具有负或正斜度的区段。 特别是当出现具有负或正斜度的区段时,函数f(x)可以具有下述走向,其中,一个确定的输 出值y配属于多个输入数据点X ={χ_1,χ_2,...,χ_η}。这种走向例如在图2中示出。可以看 出,能够为一个示例性的输出值:P配设多个输入数据点χ_1、χ_2和χ_3。
[0025] 用于在函数模型f(x)的输出参数的输出值y的基础上可靠地确定输入数据点X的 方法提出了第一种解决方法、例如用于分段线性逼近的逆推法和第二种收敛的解决方法、 特别是布伦特法的组合。这些解决方法用于,确定函数g(x)= f(x)_ #的零位。
[0026] 在用于分段线性逼近的逆推法中,沿着一个或多个输入参数Xl其中? = 1···η(η = 输入数据点的维数)(其中xi〈 xi+1)求得或选出取样点χι,χ2,…,xk的数量k,其中取样点 χι_1和xn_k定义了输入参数空间的外部界限。对此计算出所属的函数值yj(j = 1,2,…k)。
[0027] 所述计算例如可以通过硬件或通过软件来实现。在硬件单元内进行计算的情况下 也可以根据计算核心(Rechenkern)的数量并行地或部分并行地执行多个函数值yj( j= 1, 2,. . .,k)的计算。
[0028] 以下述方式确定输出参数的要通过反向计算求得的输出值f:寻找yj和yj+i,从而 使得交在y#Pyw之间。通过插值法或者说内推法,由幻和^ +1来近似所寻找的输入数据点宠。 当所寻找的输入数据点芡相应于一输出值y时,该输出值处于通过所述取样点xi,X2,…,xk 处的输出值n(j = 1,2,···,10来定义的区域内,所述输入数据点可以对于所寻找的输出值 与计算取样点的数量无关地来确定。如果关于预先给定的输出值:Ρ存在一输入数据点,则通 过第一种解决方法可靠地找出该输入数据点。
[0029] 可以设计成布伦特法的另一种解决方法是收敛的解决方法。收敛的解决方法的优 点在于,它们使给出的输出值f总是配有可能的输出数据点笼。
[0030] 布伦特法是用于迭代地确定零位的方法,其使得二分法、割线法(或者说线性插值 法)和逆向的二次插值法彼此结合。在布伦特法中,每个用于计算的迭代步骤仅需要一个输 出值y。在此不能计算斜度或较高的导数。如通常在收敛的解决方法中,布伦特法在预先给 定合适的极限数据点a,be {Χ1,χ2,…,Xk}的情况下针对预先给定的输出值p可靠地收敛向 所寻找的输入数据点笼。因此规定,找出适合的极限值,从而条件是g(a)*g(b)〈0,这就是说 所寻找的输入数据点1处于输入数据点g(a)和g(b)之间的间隔内。
[0031] 这两种解决方法的组合给出了以下在图3的流程图中示出的流程。
[0032] 在步骤S1中,在应用第一种用于可靠地确定配属于预先给定的输出值g的输入数 据点f的解决方法中,提供了大量的取样点xdPxk,这些取样点处于通过函数模型来描述的 输入点空间内。
[0033]然后在步骤S2中针对两个外部的取样点XjPXk测试,是否满足初始条件g( X1)*g (Xk)〈0。如果是这种情况(选择:是),则在步骤S3中调用收敛的解决方法、例如布伦特法,并 且相应地求得输入数据点f中的这个输入数据点或其中之一。如果不是这种情况(选择: 否),则在步骤S4中进一步限定端点之间的间隔,并且使用相应的紧接着的取样点 X2和Xk-u [0034] 如果现在四个输入数据点xi,X2,Xk-i,Xk中的一对满足条件g(a)*g(b)〈0(其中ae {xi,X2},be {xh,Xk})(选择:在步骤S2中为"是"),则借助于收敛法(例如布伦特法)在步骤 S3中求得所述输入数据点,否则如之前所描述的那样在步骤S4中加上其它输入数据点,并 且在步骤S2中测试,一对a,b是否摆脱了条件g(a)*g(b)〈0。这一点执行如此之久,直至满足 了用于执行收敛法的上述条件。
[0035]可以规定,随着S4进行的削减(Schleifen)的数量被限定为确定的数量,以便在下 述情况下能够实现计算的中断:不能为预先给定的输出值f配设输入数据点f。
[0036]上述方法的优点在于,仅利用正向计算就能够相对于输出参数的预先给定的输出 值确定输入数据点。由此,这种方法能应用于每种任意的函数模型并且特别地也能用于基 于数据的函数模型。
【主权项】
1. 一种用来求得所寻找的、用于函数模型的输入数据点的方法,特别地在机动车中的 控制设备内用于计算特别地用来控制机动车的内燃发动机的函数,其中所寻找的输入数据 点配属于输出参数的输出值,所述方法具有下述步骤: -利用输出参数的通过所述函数模型配设的输出值来提供(S1)用于所述函数模型的 多个输入数据点; -根据第一种解决方法来确定(S2,S3)多个输入数据点中的两个输入数据点,配属于 这些输入数据点的输出值包括预先给定的输出值; -在所述两个输入数据点的基础上执行(S4)第二种可靠的收敛的解决方法,以便求得 所寻找的输入数据点。2. 根据权利要求1所述的方法,其中所述第一种解决方法相应于用于分段线性逼近的 逆推法。3. 根据权利要求1或2所述的方法,其中所述第二种解决方法相应于用于布伦特法。4. 根据权利要求1至3中任一项所述的方法,其中多个被提供的所述输入数据点在输入 数据空间中以均匀分布的方式来布置。5. 根据权利要求1至4中任一项所述的方法,其中以一种序列的方式来提供所述多个输 入数据点中的两个输入数据点,所述序列至少关于其输入参数之一以单调变化的方式构 成。6. 根据权利要求5所述的方法,其中将第一和第二输入数据点确定为所述多个输入数 据点中的两个输入数据点,其中所述第一输入数据点通过从所述输入数据点的序列中选出 所述第一输入数据点中的一个或多个的这种方式来确定,并且所述第二输入数据点通过从 所述输入数据点的序列中选出最后的输入数据点中的一个或多个的这种方式来确定。7. 根据权利要求5至6中任一项所述的方法,其中从所述多个输入数据点中选出所述多 个输入数据点中的两个输入数据点,使得所述两个输入数据点关于单调变化的输入参数具 有最大可能的间隔。8. -种计算机程序,其被设置用于执行根据权利要求1至7中任一项所述方法的所有步 骤。9. 一种机器可读的存储介质,在其上存储有根据权利要求8所述的计算机程序。10. -种特别是在机动车中用于计算特别是用来控制机动车的内燃发动机的函数的电 子控制设备,其被设置用于执行根据权利要求1至7中任一项所述方法的所有步骤。
【文档编号】G06F17/17GK105975442SQ201610110437
【公开日】2016年9月28日
【申请日】2016年2月29日
【发明人】H.马克特, M.杭泽尔曼, J.M.克勒
【申请人】罗伯特·博世有限公司