Hallo, ich habe ein vermutlich recht simples Problem. Allerdings ist das für mich alles Neuland, weswegen ich gerne eure Hilfe in Anspruch nehmen würde ;-) Das ist mein Szenario: Es gibt zwei Eingangsgrößen A und B mit einem festen Wertebereich (A: -45 bis +45, B: -200 bis +200). Abhängig von diesen Eingangsgrößen ergibt sich eine Ausgangsgröße C (-100 bis +100). Allerdings ist die Funktion f(A,B) = C nicht bekannt. Stattdessen habe ich einen Haufen bekannter Stützstellen (z.B. soll f(0,0)=0 sein). Nun soll ein PC Programm die Funktion f(A,B) für mich berechnen. Meine Idee: Ich würde gerne basierend auf den Stützstellen per Interpolation (bikubisch?) eine komplette Kennlinie berechnen. Die würde ich dann in ein CSV exportieren wollen (mit einer geeigneten Auflösung). Daraus kann ich mir dann ein C++-3D-Array generieren lassen, aus dem ich dann zur Laufzeit die Funktionswerte herausbekomme. Dieser ganze Vorgang sollte natürlich möglichst weit automatisiert sein, so dass ich auch schnell mal an den Stützstellen herumspielen kann und gleich die Ergebnisse sehe. Meine Frage: Wie bekomme ich das am Einfachsten umgesetzt? Eine Matlab Lizenz hätte ich, kann damit sowas machen? Zumindest eine schöne 3D-Visualisierung hat es ja. Oder gibt es andere Tools die dafür geeignet wären?
In Matlab könnte dir eventuell ein interp2 helfen, 2d Interpolation. https://www.mathworks.com/help/matlab/ref/interp2.html
1 | Vq = interp2(X,Y,V,Xq,Yq,'cubic',0); |
X, Y und V sind deine Stützstellen und Wq, Yq deine Bereiche A und B. Vq ist dann dein C...
SciPy https://docs.scipy.org/doc/scipy/reference/interpolate.html https://en.wikipedia.org/wiki/Multivariate_interpolation (da gibt's eine kleine Übersicht über gängige Verfahren) Andere Frage wäre, ob 1. die Stützstellen immer genau getroffen werden müssen (geht mit Bezier bspw. nicht) und 2. ob die Interpolante monoton (zw. den Stützstellen) sein muss (wie bspw. https://en.wikipedia.org/wiki/Monotone_cubic_interpolation)
Krutzi schrieb: > Ich würde gerne basierend auf den Stützstellen per Interpolation > (bikubisch?) eine komplette Kennlinie berechnen Siehe MathCad: http://support.ptc.com/help/mathcad/en/index.html#page/PTC_Mathcad_Help/example_using_minerr_for_nonlinear_least_squares_fitting.html Ich benutze die Funktion minerr z.B. um mit Stützstellen aus den Pt100-Tabellen eine Näherungsfunktion z.B. als Polynom 2. oder 3. Grades zu berechnen. Die wird dann in der Controllersoftware verwendet. Georg
Kann das nicht sogar ein einfaches Excel indem man eine Trendlinie im Diagramm generieren lässt? Ansonsten geht das auch mit einem kostenlosen Octave...
Der Unterschied zwischen Interpolation und Approximation ist aber schon bekannt ? Allenfalls brauchts beides auf's Mal.
Plotte doch mal ein 3d Punkt Diagramm unter Verwendung aller Stützstellen und poste das hier.
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.