Forum: Digitale Signalverarbeitung / DSP / Machine Learning linear Interpolieren mit mehreren Parametern


von Gast (Gast)


Lesenswert?

Hallo,

ich möchte eine Fkt. Wert = F(a,b,c,d,e,f) mit mehreren Parametern 
linear interpolieren. Mit einem Parameter ist das ja kein Problem, 
findet man ja genügend Infos im Netz. Mit mehreren Parametern habe ich 
bis jetzt leider
noch nix brauchbares gefunden. Kann doch eigentlich nicht so wild sein, 
oder?
Habt ihr ne gute Adresse?

Gruss
Dirk

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Ab drei Parametern kann man sich das im dreidimensionalen Raum nicht 
mehr vorstellen.

Ich hab das auch mal versucht, nur zweidimensional, aber als kubisch 
angenäherte Gerade  - nein umgekehrt eine Näherungs-Potenzfunktion bis 
zur dritten Potenz zu finden für zwei Parameter, also eine krumme Fläche 
im Dreidimensionalen (mit Matlab gezeichnet).
Vorgegeben war eine Tabelle, ich wollte es als analytische Funktion 
haben, um es als Programm oder Tabellenkalkulations-Blatt berechnen zu 
können, es ging um eine Filterberechnung.

Nacheinander annähern war die Lösung, erst die vier Koeffizienten jeder 
Geradengleichung wenn man einen Parameter festhält, und anschließend 
eine Näherungsfunktion für die Kurve die die Koeffizienten bilden.

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Also in deinem Fall n-1 Parameter festhalten und den einen 
interpolieren, dann den nächsten usw.

von Frank (Gast)


Lesenswert?

Totales Differenzial und gut.

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

nennt man wohl "Taylorreihenentwicklung mit mehreren Variablen"..
guckst du Anhang unter Punkt 8.4.2, auf Seite48.. Da gibts ne Formel...

Aber im Prinzip ist es genau das, was  Christoph Kessler (db1uq) 
sagte...

Noch Fragen?

von Rene (Gast)


Lesenswert?

Damit wir uns verstehen. Interpolieren heisst die Funktion ist in den 
Stuetzstellen exakt und interpoliert dazwischen. Eine Taylorreihe, die 
abgebrochen wird hingegen ist approximierend. Dh nur in einem Punkt 
falls ueberhaupt exakt, sonst nur in der Naehe. Approximationen machen 
auch Sinn wenn die Daten nicht exakt sind, sonder ein gewisses Rauschen 
enthalten. Besser in moeglichst vielen Punkten eine gute Funktion als in 
nur wenigen eine sehr Gute.

von Interpolator (Gast)


Lesenswert?

Kannst du mal klarstellen, was du interpolieren willst?
Bei einer Koordinate ist die Interpolation zwischen F(x1) und F(x2):
F(t*x1+(1-t)*x2).
In deinem Fall zwischen F(a1,b1,...) und F(a2,b2,...):
F(t*a1+(1-t)*a2,t*b1+(1-t)*b2,...).

Da braucht man nix bullshitten von wegen Differential oder Taylorreihe.

von Detlef _. (detlef_a)


Lesenswert?

'lineare Algebra' heißt die Disziplin. Für ne lineare Interpolation 
bestimmt man die Parameter 'a' und 'b' der linearen Gleichung y=a*x+b 
mit den bekannten Stützstellen (x,y). Dann setzt man beliebige x ein und 
interpoliert linear. Das funzt für beliebige Dimensionalität von x und 
y. Für x und y eindimensional braucht man 2 Stützstellen, das is ne 
Gerade. Für x,y 4-dimensional (damit man sich das auf keinen Fall 
vorstellen kann) braucht man 5 Stützstellen. Angehängt ein Matlab 
script, das das beispielhaft macht. Als Funktionswert der Interpolation 
in der letzten Zeile kommt '42' raus. Das kommt zwar bei allen wichtigen 
Rechnungen immer raus, in diesem Falle ist das Beispiel aber 
entsprechend gewählt.

math rules!
Gute Nacht
Detlef


x1=[1 2 2 3]; y1=-14.575;
x2=[1 2 2 4]; y2=2;
x3=[4 3 2 1]; y3=3;
x4=[1 4 3 2]; y4=4;
x5=[4 2 3 1]; y5=5;
%x*c+b=y;
M=[x1;x2;x3;x4;x5];
M=[M ones(5,1)];
c=inv(M)*[y1;y2;y3;y4;y5];

[1.5 2.5 3.5 4.5 1]*c

von Ingenieur (Gast)


Lesenswert?

Dann hast Du aber keine stetige Funktion mehr, das wird aber in vielen 
technischen Anwendungen benötigt. Oft ist eine Approx besser - besonders 
weil die Werte, die angenähert werden müssen, sowieso nur ungenaue 
Messwerte sind. Du brauchst eine mehrdimensionale Ausgleichsfunktion!

von Detlef _. (detlef_a)


Lesenswert?

Gast will linear interpolieren. Meine Einlassung zeigte, wie man linear 
interpoliert. Punkt.

Von stetiger Funktion, Genauigkeit und mehrdimensionaler Ausgleichsfkt. 
war in der Frage nicht die Rede. Natürlich kannst Du auch die 
quadratische Fkt. y=a*x*x+b*x+c für mehrdimensionale x,y fitten oder 
mehrdimensionale splines machen, oder was auch immer, das ist glatt, 
toll, und macht Spaß! Gefragt war das nicht.

Cheers
Detlef

von BaaA (Gast)


Lesenswert?

>Gast will linear interpolieren. Meine Einlassung zeigte, wie man linear
>interpoliert. Punkt.

Nein. Deine Einlassung zeigt, wie man eine Ebene durch mehrere Punkte 
legt. Diese Einlassung hättest du besser ausgelassen, weil sie nichts 
mit der Interpolation mehrerer Parameter zu tun hat.

Die kann man alle unabhängig voneinander interpolieren, und das ist 
nichts anderes als in Fall eines einzigen Parameters. Was der Gast 
sicherlich nach Interpolators Einlassung auch bemerkte, weshalb er sich 
nicht weiter hier niedergelassen hat.

von Detlef _. (detlef_a)


Lesenswert?

>> Diese Einlassung hättest du besser ausgelassen,

finde ich nicht, würde ich nochmal tun.

>>weil sie nichts mit der Interpolation mehrerer Parameter zu tun hat.

Nein!?! Magst Du Dich erklären?

Cheers
Detlef

von holger (Gast)


Lesenswert?

Bin jetz da drin.
http://www.elektronik-projekt.de/index.php
Gruss Holger.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.