2016-07-25 11 views
0

Ich habe eine Datenbanktabelle mit 2 Spalten in Anylogic. Ich würde gerne Abfrage-DSL-Code oder den SQL-Code für die Auswahl eines Wertes aus der Tabelle in Spalte2 nach dem Vergleich meiner Eingabe mit den Werten der Spalte 1 und nach der linearen Interpolation wissen. Mein Code in Anylogic bietet einen Wert x2 where (x1 < x2 < x3) und x2 ist nicht in der Tabelle. und ich möchte aus der Tabelle einen Wert y2 basierend auf x2 where (y1 < y2 < y3) auswählen und y2 ist nicht in der Tabelle. So würde ich gerne die Software interpoliert machen und gibt den Wert y2 wie folgt nach dem in der Tabelle oben schaut:Anylogic Query Wie wähle ich Werte aus einer Datenbank Tabelle nach der Interpolation

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

x1 | y1 

x3 | y2 

x4 | y3 

x5 | y4 

Beispiel: Wenn mein Code x=0.15 kehrt würde mir das Programm gefällt, zu interpolieren und vom Tisch kehrt die Wert y wo:

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 

Danke

Antwort

0

Anstelle von Werten aus der integrierten Datenbank-Tabelle und dabei lineare Interpolation mit ihnen die Auswahl, können Sie einfach eine Tabellenfunktion erstellen und konfigurieren t o Daten aus der Datenbank laden.

Da lineare Interpolation als Funktion Interpolationstyps standardmäßig ausgewählt ist, müssen Sie nur tableFunction(0.15) nennen y = 0.00995 für x = 0.15 zu bekommen.

Verwandte Themen