Interpolation in n Dimensionen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Paul

Hallo Leute,

weiss einer von euch, wie man in 5 oder mehr Dimensionen interpolieren kann? Bitte schreibt mir.
Am liebsten waere mir natuerlich ein fertiges modul oder sowas.
Freundliche Gruesse,
Paul
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi Paul,

das ist eine enorme Herausforderung. Ich wüßte im Moment auch nicht wo etwas Derartiges in Python umgesetzt wäre.

Aber es gibt ja scipy (www.scipy.org) dort könntest Du Dir den Quellcode runterladen und den 2-dimensionalen Splinefit um drei Dimensionen erweitern. Nur so etwas ist keine Aufgabe für einen Nachmittag. (Ich würde mir dafür wenigestens drei bis vier Wochen Zeit einräumen, bis alles fehlerfrei sitzt.)

Etwas Anderes ist es wenn Du die Gesetzmäßigkeit mit Der sich Deine Punkte verteilen schon kennst, dann reicht es womöglich über alle Achsen zu interpolieren - aber Dir schwebt wohl eher etwas Anderes vor.

Viel Erfolg!

Gruß,
Christian

PS Wozu braucht man einen fünfdimensionalen Fit?
PPS Wenn Du eine Lösung hast - magst Du den Code hier mal posten? Wäre sehr interessant.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi Paul,

oh, ich möchte mir doch selber widersprechen: Es ist gar nicht so schwer, wie ich dachte. Schaue mal nach in den Numerical Recipes in C unter Punkt 3.6. Ich möchte aber empfehlen das ganze Kapitel 3 durchzulesen, damit Du den Teil 3.6 besser nachvollziehen kannst - Du kannst ja die Teile, die nun wirklich in dem Zusammenhang nicht interessieren überschlagen.

Das zeigt zumindest eine Implementierung in C auf. C++ (wovon ich die Recipes zu Hause habe) funktioneren ja ganz ähnlich. Der Schritt nach Python ist hier nicht so schwer. Aber die Erweiterung auf fünf oder n beliebige Dimensionen wird schon einiges Gehirnschmalz kosten, fürchte ich ;-).

Dennoch viel Erfolg.

Gruß,
Christian
Paul

Hallo Leute,

ich hab eigentlich nach etwas fertigem gesucht, das ich nur importieren muss.

Schade,
Aber vielleicht findet ja noch einer was.
Paul
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Ich finde Du hättest schon einmal einen Blick in scipy werfen können oder selber suchen sollen. Dann hättest Du nämlich in der Tat gefunden, daß es das schon gibt und auch wirklich nicht so schwer zu implementieren ist, wie ich zunächst glaubte. Ich selber habe gerade eben einen 1D-Spline Fit gebraucht und habe zufällig noch einmal in der Scipy-Doku gelesen. Dort gibt es interpolate.splprep und das dürfte Deinen Ansprüchen genügen.

Gruß,
Christian
Paul

Hallo Christian,

ich habe scipy abgesucht. Dort gibt es aber nichts, was vernuenftig in 5 oder 6 Dimensionen funktioniert. Zumindest dann, wenn man nicht mit dem Parameter arbeiten will. Ich habe naemlich noch nicht herausgefunden, wie ich den passenden parameterwert zu den jeweiligen Punktkoordinaten bekomme.
Mfg,
Paul
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Paul hat geschrieben: ... Zumindest dann, wenn man nicht mit dem Parameter arbeiten will. Ich habe naemlich noch nicht herausgefunden, wie ich den passenden parameterwert zu den jeweiligen Punktkoordinaten bekomme.
Wovon sprichst Du? Was ist "der Parameter"? Was meinst Du mit "passedem Parameterwert zu den jeweiligen Punktkoordinaten? Wie sieht Deine Matrix aus? Wo liegt Dein Problem mit dem Beispielcode? Magst Du ein Snippet posten - falls es helfen könnte, Dein Problem zu verstehen?

Fragen über Fragen ... Ich verstehe Dein Problem nicht mehr. Wenn Du vielleicht etwas deutlicher wirst, mag es hier auch noch andere Leute geben, die helfen können.

Gruß,
Christian
Antworten