【问题标题】:Anylogic query How to select values from a databse table after interpolationAnylogic查询如何在插值后从数据库表中选择值
【发布时间】:2016-11-28 10:57:54
【问题描述】:

我在 Anylogic 中有一个包含 2 列的数据库表。在将我的输入与第 1 列的值进行比较并进行线性插值之后,我想知道查询 dsl 代码或用于从 column2 中的表中选择一个值的 sql 代码。 我在 Anylogic 中的代码提供了一个值 x2 where (x1 < x2 < x3),而 x2 不在表中。我想从表中选择一个基于x2 where (y1 < y2 < y3) 的值y2y2 不在表中。所以我想让软件插值,查表后返回值y2如下:

y2= [(x2-x1)*(y3-y1)/(x3-x1)]+y1

x1  |  y1

x3  |  y2

x4  |  y3

x5  |  y4

示例:如果我的代码返回 x=0.15 我希望程序插入并从表中返回值 y 其中:

y =[[0.15-0.1]*(0.0072-0.0127)/(0.2-0.1)]+0.0127= 0.00995

---x  |   y

0.1  | 0.0127

0.2  | 0.0072

0.3  | 0.0039

0.4  | 0.0020

0.5  | 0.0010

0.3  | 0

谢谢

【问题讨论】:

    标签: java sql interpolation querydsl anylogic


    【解决方案1】:

    您可以简单地创建一个表函数并将其配置为从数据库加载数据,而不是从内置数据库表中选择值并对其进行线性插值。

    由于默认选择线性插值作为函数插值类型,你只需要调用tableFunction(0.15)获取y = 0.00995即可获得x = 0.15

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 1970-01-01
      • 2021-12-02
      • 2021-07-16
      • 2020-01-30
      • 1970-01-01
      • 2014-12-31
      相关资源
      最近更新 更多