Python Punkte zwischen Messwerten interpolieren

Gast #5817414
Hallo,

ich habe Messwerte F (Kraft) und u (Weg). Da es Messwerte sind, sind 
diese "zufällig". Zur Auswertung möchte ich jetzt für alle 
Versuchsreihen das F bei u = 0,5 z.B.. Die Messwerte sind aber bei 
u=0,4879 und u=0,5174.
Es gibt in Python (incl. numpy, scipy ...) mit Sicherheit schon eine 
Funktion der ich meine Messwete und den Sollwert gebe, dir mir dann mein 
F bei u = 0,5 ausgibt. Wie heißt das, wonach muss ich googeln?
Gast #5817443
Interpolation sind 2 Schritte:

1. Eine Gleichung finden, die die vorhandenen Messwerte möglichst gut 
beschreibt. Möglichst gut ist dabei subjektiv. (Google: Fit line to 
points)

2. Die Gleichung benutzen um den gewünschten interpolierten Punkt zu 
bestimmen (aka Einsetzen)
Gast #5817477
Walter T. schrieb:
> Falsch herum gedacht: meshgrid inter- und extrapoliert Dir wild
> verteilte Werte auf ein vorgegebenes Gitter.

https://plot.ly/numpy/meshgrid/
A Meshgrid is an ND-coordinate space generated by a set of arrays. Each 
point on the meshgrid corresponds to a combination of one value from 
each of the arrays.

Dv schrieb:
> 1. Eine Gleichung finden, die die vorhandenen Messwerte möglichst gut
> beschreibt. Möglichst gut ist dabei subjektiv. (Google: Fit line to
> points)

Außer einen B-Spline gibt es die nicht, oder wurde noch nicht gefunden. 
Wenn ich sie Finde, werde ich sicher einen preis bekommen.

T. F. schrieb:
> https://docs.scipy.org/doc/numpy/reference/generated/numpy.interp.html

Der war schon ganz gut. Hab es jetzt so gelöst:
https://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html#spline-interpolation-in-1-d-procedural-interpolate-splxxx
Gast #5817495
Karl schrieb:
> Außer einen B-Spline gibt es die nicht, oder wurde noch nicht gefunden.
> Wenn ich sie Finde, werde ich sicher einen preis bekommen.

Na wenn die Messpunkte keinen erkennbaren Zusammenhang haben, macht 
Interpolation auch keinen Sinn
Gast #5817595
Dv schrieb:
> Na wenn die Messpunkte keinen erkennbaren Zusammenhang haben, macht
> Interpolation auch keinen Sinn

Die Messpunkte haben einen Zusammenhang, aber unterschiedliche Messungen 
lassen sich nicht mit einer Funktion beschreiben. Mal kommt ein 
bi-linearer Verlauf raus, mal eine Hyperbel, mal eine Gerade. Wenn ich 
versuche eine Gerade mit einer Hyperbel zu fitten, kommt nichts 
gescheites bei raus. Ich habe auch nicht die Zeit bei jeder Kurve den 
Fit zu prüfen und ggf. Anzupassen. Da mich der Verlauf (jetzt) nicht 
interessiert, das auch egal.
#5817627
Eine kurve ist immer ein mathematisches Modell. Welches Modell am besten 
passt, musst du schon
* entweder wissen
* oder du rechnest alle Varianten, die für dich in Frage kommen und 
entscheidest dann im Quelltext, was dir am besten gefällt, z.b. anhand 
des Fehlers. Da das immer sehr anwendungsabhängig ist, macht das auch 
keine fertige Software für dich.

Wenn du weißt, die die Kraft über den Weg verläuft (meistens als Gerade, 
wenn eine Feder im Spiel ist), dann ist es auch einfacher, das richtige 
Modell zu erraten.
#5817647
Was möchtest du denn am Ende herausfinden? Vermutlich gibt es zur 
Bestimmung dieses Ergebnisses einen Weg, der nicht erfordert, dass die 
Messwerte gleiche x-Werte haben.

Du kannst np.interp benutzen, aber das ist Pfusch, weil es linear 
interpoliert und das i.d.R. nicht korrekt ist. Ausnahme wäre, wenn die 
Werte so nah beieinander liegen, dass ein linear hinreichend genau ist.
Gast #5817669
Karl schrieb:
> Die Messpunkte haben einen Zusammenhang, aber unterschiedliche Messungen
> lassen sich nicht mit einer Funktion beschreiben. Mal kommt ein
> bi-linearer Verlauf raus, mal eine Hyperbel, mal eine Gerade. Wenn ich
> versuche eine Gerade mit einer Hyperbel zu fitten, kommt nichts
> gescheites bei raus. Ich habe auch nicht die Zeit bei jeder Kurve den
> Fit zu prüfen und ggf. Anzupassen.

Du solltest aber schon wissen, mit welchem Modell sich deine Daten 
beschreiben lassen. Wenn du mit dem falschen Modell fittest, kann es dir 
gut passieren, dass nichts gescheites dabei heraus kommmt. Du musst 
zumindest drauf achten, dass die Modellfunktion in der Nähe von deiner u 
= 0,5 keinen Mist bauen kann.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 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.