Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Interpoliert Werte zwischen vorgegebenen Stützpunkten

Inhalt dieser Seite
richtet sich an

Status
colourRed
titleExperten

Table of Contents

Syntax

["Interpolation","$InF", "$OutF", [ [x1,y1] , [x2,y2] , ... , [xn,yn ] ] ]

Funktion

Interpoliert zwischen den nächstgelegenen Stützpunkten den Funktionswert einer punktweise definierten Kennlinie.

 

Eingänge

  • "$InF"(float): Zu berechnender Wert (resp. sein X-Wert)

  • [x1,y1] , [x2,y2] , ... , [xn,yn ] ]: Array mit den Stützpunkten, beschrieben über ihre jeweiligen x- und y-Werte (vom Typ: integer).
    Die Stützpunkte werden direkt in der Moduldeklaration als Zahlen eingetragen werden, also zum Beispiel [[0,0,] , [5.5,11], [20,18]] ; die Verwendung von Variablen ist nicht vorgesehen.

Ausgänge

  • "$OutF"(float): Ergebnis der Berechnung, d.h. Y-Wert des Eingangs

Besonderheiten

  • Die Stützpunkte [xi,yi] müssen folgende Bedingung erfüllen:
    xi < xi+1 , d.h. die Stützpunkte müssen nach ihren x-Werten aufsteigend sortiert sein und x-Werte dürfen nicht doppelt vorkommen

  • Die Berechnung des Ausgangswertes erfolgt mit abschnittsweiser linearer Interpolation.
    Zusätzlich werden die Ein- und Ausgangswerte auf den Wertebereich der Stützpunkte limitiert, d.h. bei Eingangswert (X) und Ausgangswert (Y) X < x1y1 X = xiyi xi < X < xi+1yi + (yi+1 - yi) / (xi+1 - xi) * (X - xi) X > xnyn

Praktische Anwendungsbeispiele

Entsprechendes Logik-Modul

 

 Dieses Modul ist nicht als standalone Modulbaustein vorhanden.

Vereinfachte Erläuterung für mathematisch wenig erfahrene Anwender:

  • Vorgegeben ist ein Array von blauen Stützpunkten über ihre X- und Y-Werte

  • Die Stützpunkte definieren den Verlauf einer Kennlinie; diese wird durch die lineare (d.h. “gerade”) Verbindung zwischen zwei Stützpunkten festgelegt.

  • Der Modulbaustein interpoliert anhand der Kennlinie den Y-Wert eines vorgegebenen x-Position die y

Weitere Informationen:

Beispiel: Interpolation von Eingangswerten im Bereich von 0 bis 1 auf Prozentwerte von 0% bis 100%

Quelle: https://forum.timberwolf.io/app.php/kb/viewarticle?a=101

Code Block
{
    "Level": [
        ["$In", "float", 0.0],
        ["$Out", "float", 0.0]
    ],
    "Module": [
        ["Interpolation","$In", "$Out", [[0,0],[1,100]]]
    ],
    "Input": [
        ["Eingang","Eingangswert (x)", "$In", "a"]
    ],
    "Output": [
        ["Ausgang","Ausgangswert (y)","$Out", "a"]
    ]
}