linear Interpolieren mit mehreren Parametern

Gast #488034
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
Gast
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.
Gast
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?
Angehängte Dateien:
Gast
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.
Gast
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.
'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
Gast
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!
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
Gast
>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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.