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?
Bei Matlab heißt dieser Befehl "meshgrid". Bei Numpy vermutlich auch.
Nein, das ist nicht was ich meine. meshgrid macht so weit ich weiß, aus vorgegebenen Werten ein Netz/Gitter. Aber keine "Interpolationen".
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)
Karl schrieb: > meshgrid macht so weit ich weiß, aus > vorgegebenen Werten ein Netz/Gitter. Falsch herum gedacht: meshgrid inter- und extrapoliert Dir wild verteilte Werte auf ein vorgegebenes Gitter.
:
Bearbeitet durch User
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
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
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.
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.
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.
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.
zum Ausprobieren :-) https://help.scilab.org/docs/6.0.0/en_US/interp1.html https://help.scilab.org/doc/5.5.2/en_US/section_64fa3f01fdb19353faf0c6806a64a533.html
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.