interpol

Die Funktion interpol führt eine lineare Interpolation oder eine Cosinus-Interpolation an gegebenen Stützstellen durch.

rvYi = interpol(rvX, rvY, rvXi)
rvYi = interpol(rvX, rvY, rvXi, rsMissing)
rvYi = interpol(rvX, rvY, rvXi, rsMissing, ssType)

Returnwert

rvYi sind die zu rvXi gehörenden interpolierten Werte. Falls ein Fehler aufgetreten ist, enthält die Variable rvYi ein Error-Objekt (siehe Beispiel).

Parameter

rvX

rvX ist ein reeller Vektor mit mindestens 2 x-Koordinaten. Die Koordinaten müssen monoton aufsteigend oder absteigend sein.

rvY

rvY ist ein reeller Vektor mit mindestens 2 y-Koordinaten und der gleichen Länge wie rvX.

rvXi

rvXi ist ein reeller Vektor mit mindestens einer Koordinate.

rsMissing

1.) Werte in rvYi die größer oder gleich rsMissing sind, werden bei der Interpolation ignoriert. Der Missing-Wert wird in rvYi eingetragen. 2.) Falls eine Extrapolation ausgeführt werden muss, werden die extrapolierten Werte auf rsMissing gesetzt. Falls rsMissing nicht angegeben wird, werden extrapolierte Werte auf 0 gesetzt.

ssType

ssType legt fest, ob eine lineare oder cosinus Interpolation durchgeführt werten soll. ssType ist ein Text mit dem Wert linear oder cosine. Defaultwert ist linear.

Beispiel

../../_images/interpol.png
x = [1,3,5,8]
y = [0,5,8,2]
h = plot(x,y)
yi = interpol(x, y, xi = linspace(1, 8, 5));
h = plot(xi, yi, h[2])
XYSetProps(h[3], "marker='1' marker-style='circle' curve-style='dash'");

x = [1,3,5,8]
y = [0,5,8,2]
h = plot(x,y)
yi = interpol(x, y, xi = linspace(1, 8, 5));
h = plot(xi, yi, h[2], 1e10, "cosine")
XYSetProps(h[3], "marker='1' marker-style='circle' curve-style='dash'");

Falls ein Fehler auftritt, gibt interpol ein Error-Objekt zurück (siehe auch error_create).

x = [1,3,4, 5,8]
y = [0,5,8,2]
yi = interpol(x, y, [1,2,2]);
if (type(yi) == "error") {
    print yi.message;
}

History

Version Beschreibung
R2018.12 Neuer Parameter ssType.
4.2.4 Die Koordinaten rvXi müssen nicht mehr monoton sortiert sein.
4.2.0 Neu.

id-2113436