Signal- und Messdatenverarbeitung
Interpolation, Extrapolation und Regression
Python | Matlab/Octave | ||
Vorbereitung (Laden von Modulen/Paketen) | from numpy import * |
||
lineare Interpolation und -extrapolation | : Vektoren mit zwei zu interpolierenden Wertepaaren : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte der linearen Interpolation. |
c=polyfit(x,y,1) |
c=polyfit(x,y,1); |
quadratische Interpolation und -extrapolation (mit Polynom zweiten Grades) | : Vektoren mit drei zu interpolierenden Wertepaaren : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte der linearen Interpolation. |
c=polyfit(x,y,2) |
c=polyfit(x,y,2); |
Polynominterpolation und -extrapolation | : Vektoren mit zu interpolierenden Wertepaaren : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte des Interpolationspolynoms. |
c=polyfit(x,y,len(x)-1) |
c=polyfit(x,y,length(x)-1); |
Polynomregression (ohne Gewichtung) | : Vektoren mit Wertepaaren : Grad des anzupassenden Polynoms mit : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte des angepassten Polynoms. |
c=polyfit(x,y,K) |
c=polyfit(x,y,K); |
Polynomregression mit Gewichtung | : Vektoren mit Wertepaaren : Vektor mit Gewichten : Grad des anzupassenden Polynoms mit : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte des angepassten Polynoms. |
from numpy.linalg import * |
cm=zeros(K+1,K+1); |
Polynomregression (ohne Gewichtung) unter der Randbedingung eines verschwindenden Absolutglieds | : Vektoren mit Wertepaaren : Grad des anzupassenden Polynoms mit : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte des angepassten Polynoms. |
from numpy.linalg import * |
cm=zeros(K,K); |
Polynomregression mit Gewichtung unter der Randbedingung eines verschwindenden Absolutglieds | : Vektoren mit Wertepaaren : Vektor mit Gewichten : Grad des anzupassenden Polynoms mit : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte des angepassten Polynoms. |
from numpy.linalg import * |
cm=zeros(K,K); |
Polynominterpolation und -extrapolation unter der Randbedingung der Symmetrie zur -Achse | : Vektoren mit zu interpolierenden Wertepaaren : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte des Interpolationspolynoms. |
c=polyfit(array(x)**2,y,len(x)-1) |
c=polyfit(x.^2,y,length(x)-1); |
Polynomregression (ohne Gewichtung) unter der Randbedingung der Symmetrie zur -Achse | : Vektoren mit Wertepaaren : Grad des anzupassenden Polynoms (gerade) mit : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte des angepassten Polynoms. |
from numpy.linalg import * |
cm=zeros(fix(K/2)+1,fix(K/2)+1); |
Polynomregression mit Gewichtung unter der Randbedingung der Symmetrie zur -Achse | : Vektoren mit Wertepaaren : Vektor mit Gewichten : Grad des anzupassenden Polynoms (gerade) mit : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte des angepassten Polynoms. |
from numpy.linalg import * |
cm=zeros(fix(K/2)+1,fix(K/2)+1); |
exponentielle Interpolation und -extrapolation | : Vektoren mit zwei zu interpolierenden Wertepaaren : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte der exponentiellen Interpolation. |
c=polyfit(-array(x),log(y),1) |
c=polyfit(-x,log(y),1); |
exponentielle Regression ohne Gewichtung | : Vektoren mit Wertepaaren : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte der exponentiellen Interpolation. |
c=polyfit(-array(x),log(y),1) |
c=polyfit(-x,log(y),1); |
exponentielle Regression mit Gewichtung | : Vektoren mit Wertepaaren : Vektor mit Gewichten : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte der exponentiellen Interpolation. |
from numpy.linalg import * |
cm=zeros(2,2); |
Gauß-Interpolation und -extrapolation | : Vektoren mit drei zu interpolierenden Wertepaaren : Koeffizienten-(zeilen-)vektor Die Funktion liefert die Funktionswerte der linearen Interpolation. |
c=polyfit(x,log(array(y)),2) |
c=polyfit(x,log(y),2); |
Gauß-Interpolation der drei Werte um das Maximum in einem Vektor und Bestimmung der Position des Maximums in der interpolierten Funktion | : Vektor mit Werten : Argument des Maximums (Index) : Verschiebung des Maximums der interpolierten Gauß-Funktion gegenüber dem Index des maximalen Wertes |
X=maximum(1,minimum(len(y)-2,argmax(y))) |
[Y,X]=max(y); |
(stückweise) Sample-and-Hold-Interpolation | : Eingangswertepaare in aufsteigender Reihenfolge ihrer Argumente : Vektor mit Argumenten der interpolierten Funktion : Ergebnisvektor mit Werten der interpolierten Funktion |
from scipy.interpolate import * |
yq=zeros(size(xq)); |
(stückweise) Nearest-Neighbor-Interpolation | : Eingangswertepaare in aufsteigender Reihenfolge ihrer Argumente : Vektor mit Argumenten der interpolierten Funktion : Ergebnisvektor mit Werten der interpolierten Funktion |
from scipy.interpolate import * |
yq=interp1(xp,yp,xq,'nearest'); |
stückweise lineare Interpolation | : Eingangswertepaare in aufsteigender Reihenfolge ihrer Argumente : Vektor mit Argumenten der interpolierten Funktion : Ergebnisvektor mit Werten der interpolierten Funktion |
from scipy.interpolate import * oder from scipy.interpolate import * |
yq=interp1(xp,yp,xq,'linear'); oder yq=interp1(xp,yp,xq); |
(stückweise) Interpolation mit natürlichen Splines | : Eingangswertepaare in aufsteigender Reihenfolge ihrer Argumente : Vektor mit Argumenten der interpolierten Funktion : Ergebnisvektor mit Werten der interpolierten Funktion |
from numpy.linalg import * |
cm=zeros(length(xp)-2,length(xp)-2); |
(stückweise) Interpolation mit natürlichen Splines mit äquidistanten Abtaststellen | : Vektor mit Eingangswerten : Vektor mit Argumenten der interpolierten Funktion (Python: , Matlab: ) : Ergebnisvektor mit Werten der interpolierten Funktion |
cm=zeros([len(yp)-2,len(yp)-2]) |
cm=zeros(length(yp)-2,length(yp)-2); |
(stückweise) Splineinterpolation mit not-a-knot-Bedingungen | : Eingangswertepaare in aufsteigender Reihenfolge ihrer Argumente : Vektor mit Argumenten der interpolierten Funktion : Ergebnisvektor mit Werten der interpolierten Funktion |
from scipy.interpolate import * |
yq=spline(xp,yp,xq); |
(stückweise) Splineinterpolation mit periodischen Randbedingungen | : Eingangswertepaare in aufsteigender Reihenfolge ihrer Argumente : Vektor mit Argumenten der interpolierten Funktion : Ergebnisvektor mit Werten der interpolierten Funktion |
from scipy.interpolate import * |
fehlt in Matlab/Octave |
parametrische, stückweise lineare Interpolation | : Vektoren mit zu interpolierenden Wertepaaren : Vektor mit Argumenten der Parameterfunktion (Python: , Matlab: ) : Ergebnisvektoren mit interpolierten Wertepaaren |
from scipy.interpolate import * |
xr=interp1(xp,r); |
parametrische Interpolation mit (stückweisen) Splines mit not-a-knot-Bedingungen | : Vektoren mit zu interpolierenden Wertepaaren : Vektor mit Argumenten der Parameterfunktion (Python: , Matlab: ) : Ergebnisvektoren mit interpolierten Wertepaaren |
from scipy.interpolate import * |
xr=spline((1:length(xp)),xp,r); |
Whittaker-Shannon-Interpolation (sinc-, si-Interpolation) mit äquidistanten Abtaststellen | : Vektor mit Eingangswerten an den Stellen (Python) bzw. (Matlab) : Vektor mit Argumenten der interpolierten Funktion (Python: , Matlab: ) : Ergebnisvektor mit Werten der interpolierten Funktion |
yq=mean(yp)*ones(len(xq)) |
yq=mean(yp)*ones(size(xq)); |
Whittaker-Shannon-Interpolation (sinc-, si-Interpolation) mit äquidistanten Abtaststellen für periodisch fortzusetzende Signale | : Vektor mit Eingangswerten an den Stellen (Python) bzw. (Matlab) : Vektor mit Argumenten der interpolierten Funktion (Python: , Matlab: ) : Ergebnisvektor mit Werten der interpolierten Funktion |
def sinn(x,n): |
fehlt noch |
zweidimensionale lineare Interpolation und -extrapolation | : Vektoren mit drei zu interpolierenden Wertetripeln : Vektoren mit Argumenten der interpolierten Funktion : Ergebnisvektor mit Werten der interpolierten Funktion |
from numpy.linalg import * |
c=linsolve([ones(length(xp),1) xp(1:3)' yp(1:3)'],zp(1:3)'); |
zweidimensionale quadratische Interpolation und -extrapolation | : Vektoren mit sechs zu interpolierenden Wertetripeln : Vektoren mit Argumenten der interpolierten Funktion : Ergebnisvektor mit Werten der interpolierten Funktion |
from numpy.linalg import * |
c=linsolve([ones(length(xp),1) xp(1:6)' yp(1:6)' xp(1:6)'.^2 xp(1:6)'.*yp(1:6)' yp(1:6)'.^2],zp(1:6)'); |
stückweise bilineare Interpolation (eine nichtlineare Interpolation!) | : Matrix mit zu interpolierenden Werten : Vektoren mit Argumenten der interpolierten Funktion (Python: , Matlab: ) : Ergebnisvektor mit Werten der interpolierten Funktion |
from scipy.interpolate import * oder from scipy.interpolate import * |
zq=interp2(zp,xq,yq,'linear'); oder zq=interp2(zp,xq,yq); |
stückweise Interpolation mit bikubischen Splines mit not-a-knot-Bedingungen | : Matrix mit zu interpolierenden Werten : Vektoren mit Argumenten der interpolierten Funktion (Python: , Matlab: ) : Ergebnisvektor mit Werten der interpolierten Funktion |
zq=zeros(len(xq)) |
zq=interp2(zp,xq,yq,'spline'); |
zweidimensionale Whittaker-Shannon-Interpolation (sinc-, si-Interpolation) mit äquidistanten Abtaststellen | : Matrix mit zu interpolierenden Werten : Vektoren mit Argumenten der interpolierten Funktion (Python: , Matlab: ) : Ergebnisvektor mit Werten der interpolierten Funktion |
zq=mean(zp)*ones(len(xq)) |
zq=mean(mean(zp))*ones(size(xq)); |
zweidimensionale Whittaker-Shannon-Interpolation (sinc-, si-Interpolation) mit äquidistanten Abtaststellen für periodisch fortzusetzende Signale | : Matrix mit zu interpolierenden Werten : Vektoren mit Argumenten der interpolierten Funktion (Python: , Matlab: ) : Ergebnisvektor mit Werten der interpolierten Funktion |
def sinn(x,n): |
fehlt noch |