EBSILON®Professional Online Dokumentation
EbsScript / EbsScript Funktionen / Zugriff auf Interpolationsfunktionen
In diesem Thema
    Zugriff auf Interpolationsfunktionen
    In diesem Thema

    Zugriff auf Interpolationsfunktionen

    Bei Kennlinien besteht die Möglichkeit, aus EbsScript auf die Interpolationsfunktionen des Bauteils zuzugreifen, d.h. den Wert der Kennlinie an einem Punkt zu ermitteln. Außerdem können der Typ und die Attribute für die Interpolation abgefragt werden.

     

    Beim EbsScript-Typ „ebscharline“ für Kennlinien können folgende Eigenschaften verwendet werden:

    Beispiel:

    begin

    println ("Motor.CQ3NCV.interpolate(5000):",Motor.CQ3NCV.interpolate(5000));

    println ("Motor.CQ3NCV.interpolationtype:",Motor.CQ3NCV.interpolationtype);

    println ("Motor.CQ3NCV.interpolationorder:",Motor.CQ3NCV.interpolationorder);

    println ("Motor.CQ3NCV.extrapolationorder:",Motor.CQ3NCV.extrapolationorder);

    println ("Motor.CQ3NCV.splineborderstype:",Motor.CQ3NCV.splineborderstype);

    println ("Motor.CQ3NCV.splineborderleft:",Motor.CQ3NCV.splineborderleft);

    println ("Motor.CQ3NCV.splineborderright:",Motor.CQ3NCV.splineborderright);

    end;

    Die Funktion interpolate liefert den y-Wert der Kennlinie zum als Argument angegeben x-Wert. Der interpolationtype ist

    Bei interpolationtype=1 enthalten interpolationorder und extrapolationorder die entsprechenden Ordnungen für Interpolation und Extrapolation.

    Bei interpolationtype=2 gibt splineborderstype an, wie die Randbedingungen für die Spline-Interpolation gesetzt werden sollen:

    Für splineborderstype=1 oder 2 enthalten splineborderleft und splineborderright die entsprechenden Grenzwerte.

    Es ist auch möglich, diese Attribute im EbsScript zu verändern.

     

    Die Funktion interpolate kann auch bei Kennfeldern (Matrizen) benutzt werden.

    Bei EbsScript-Typ „ebsmatrix“ für Matrizen können folgende Eigenschaften bzw. verwendet werden:

    Beispiel:

    begin

    println ("Motor.MXT2.interpolate(10,6000):",Motor.MXT2.interpolate(10,6000));

    println ("Motor.MXT2.sizex:",Motor.MXT2.sizex);

    println ("Motor.MXT2.sizey:",Motor.MXT2.sizey);

    println ("Motor.MXT2.data(1,3)",Motor.MXT2.data(1,3));

    println ("Motor.MXT2.interpolation2dtype:",Motor.MXT2.interpolation2dtype);

    end;

    In diesem Fall benötigt interpolate zwei Argumente (x- und y-Wert) und liefert den Wert des Kennfelds an der entsprechenden Stelle. Mit dem ersten Argument (x) erfolgt eine Interpolation der Zeilen, mit dem zweiten (y) eine Interpolation der Spalten.

    Die Funktion sizex liefert die Zahl der Zeilen (einschließlich Kopfzeile mit den y-Werten).

    Die Funktion sizey liefert die Zahl der Spalten (einschließlich linken Spalte mit den x-Werten).

    Die Funktion data (i,j) liefert den Wert in Zeile i und Spalte j.

    Die Funktion interpolation2dtype liefert den Interpolationstyp: