Forum: PC Hard- und Software 2D Kennlinie aus Stützstellen


von Krutzi (Gast)


Lesenswert?

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?

von Stefan W. (bier16v)


Lesenswert?

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...

von Arc N. (arc)


Lesenswert?

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)

von georg (Gast)


Lesenswert?

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

von N. M. (mani)


Lesenswert?

Kann das nicht sogar ein einfaches Excel indem man eine Trendlinie im 
Diagramm generieren lässt?
Ansonsten geht das auch mit einem kostenlosen Octave...

von Christian M. (Gast)


Lesenswert?

Matheass mit Regression.
https://www.matheass.eu/matheass_de/sto.html

Gruss Chregu

von Günstige Trolle im Duzendpack (Gast)


Lesenswert?

Der Unterschied zwischen Interpolation und Approximation ist aber schon 
bekannt ? Allenfalls brauchts beides auf's Mal.

von Nano (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.