2D Kennlinie aus Stützstellen

Gast #5919692
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?
#5919756
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)
Gast #5919962
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.