Ein typisches Beispiel hierfür sind Motorkennlinien. Diese folgen nicht einer einzelnen mathematischen Formel, sondern müssen entsprechenden Diagrammen der Datenblätter nachempfunden werden.
Die Funktionen werden nach folgendem Prinzip angelegt:
- Im Initialisierungs-Teil eine neue "Funktionshülle" definieren
- Im Initialisierungs-Teil der Funktion nacheinander Wertepaare hinzufügen
- Funktion an beliebiger Stelle verwenden
Konkret werden diese Schritte wie folgt durchgeführt:
Zuerst muss eine globale Integer-Variable definiert werden, die zur Identifikation der Funktion dient:
Testfunction: integer;
Mit der Funktion LinFuncNew kann man nun im Initialisierungs-Teil eine neue Funktion anlegen:
Testfunction := LinFuncNew;
Dieser Funktion kann man nun mit mehrmaligem Aufruf von LinFuncAddPair(id, x, y) die nötigen Wertepaare übergeben. Die Reihenfolge ist wichtig! X muss stets größer werden!
Schließlich kann man an jeder beliebigen Stelle (natürlich erst nach der Definition) die Funktion mit LinFuncGetValue(id, x) verwenden:
Ergebnis := LinFuncGetValue(Testfunction, 4); // Ergebnis = 5.5