www.mikrocontroller.net

Forum: PC-Programmierung Interpolation fon Kennlinienfeld d = f(a,b,c)


Autor: Diplomand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,
jetzt wird mathematisch.
Ich habe einen Datensatz, Beispiel siehe weiter unten.
WertA bis WertC sind Eingangsvariablen
WertD ist die Ausgangsgröße

Ich suche eine Möglichkeit, ein Kennlinienfeld zu interpolieren. 
Deshalb, weil unterschiedliche Anzahl an Messreihen und Messpunkte zur 
Verfügung stehen.
Es ist also nichts anderes als eine Punktewolke gegeben, über die eine 
Fläche gelegt werden soll.

Wie geh ich das an. Ich habe gestern Abend auf der HP von Numerical 
Recipes for C im Kapitel 3.6 Interpolation in Two or More Dimensions 
gefunden. Leider kann ich das hier auf der Arbeit nicht aufrufen, wegen 
dem Plugin.
Ist ja auch egal.

Welche mathematische Methoden gibt es da. Spline Funktionen mit 
Randbedingungen kenn ich nur für y = f(x) aber nicht für d = f(a,b,c).

Ich nutze GNU Scientific Library und es soll ein Datensatz entstehen, 
der für das Simulationsprogram Simplorer nutzbar ist.

Probiert hab ich es schon. Zuerst die vier am nahesten liegenden Punkte 
ermittelt. Diese sollten eine Fläche aufspannen. Tun sie das aber nicht, 
klappt es nicht. Ich hatte auf jeden Fall Unstetigkeiten in der Tabelle.

Für Anregungen bin ich dankbar.
WertA    WertB    WertC    WertD 
25    500    25,9    0,00279 
25    500    202    0,0164 
25    500    234    0,0185 
25    500    290    0,0245 
25    500    400    0,0405 
25    600    27    0,00386 
25    600    105    0,0118 
25    600    235    0,0255 
25    600    290    0,0336 
25    600    401    0,0543 
25    700    25,1    0,00459 
25    700    48,9    0,00782 
25    700    289    0,0451 
25    700    400    0,072 
25    840    25,4    0,00619 
25    840    202    0,0405 
25    840    285    0,0596 
25    840    393    0,094 
125    500    27    0,0048 
125    500    52,4    0,00728 
125    500    396    0,0588 
125    600    27,5    0,00654 
125    600    133    0,0209 
125    600    165    0,0257 
125    600    200    0,0315 
125    700    49,4    0,0124 
125    700    73,5    0,0166 
125    700    99,5    0,0212 
125    700    129    0,0265 
125    700    163    0,033 
125    700    410    0,104 
125    840    25,7    0,0106 
125    840    49,4    0,0166 
125    840    162    0,0444 
125    840    201    0,0553

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
erst eine Spline-Kurvenschar für eine Dimension ermitteln, dann für 
deren Parameter je eine Spline-Kurve ermitteln für die zweite Dimension 
und in die erste einsetzen, für die dritte Dimension wirds dann noch 
länger

Merke: Formeln über einen Meter Länge sind von Natur aus falsch.

Autor: Diplomand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hä?

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
linear oder quadratisch interpolieren, das benötigt nur die Lösung eines 
(überbestimmten) linearen Gleichungssystems.

Also z.B: D=c1*A+c2*B+c3*C+c4 nach c1,c2,c3,c4 lösen. Oder nen anderes 
beliebiges Polynom (quadratisch?) in A,B,C nach den unbekannten 
Konstanten lösen. Der hack im link oben scheint schon in zwei 
Dimensionen etwas komplexer zu sein.

Cheers
Detlef

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.