Welchen Grades ist diese Funktion

Zanmatou

Lt. Commander
Registriert
Juni 2007
Beiträge
1.039
Servus CB Gemeinde,

heute mal eine Frage an die Mathematiker.

http://books.google.de/books?id=J-k...AA#v=onepage&q=Wasserdampfgehalt Luft&f=false

S. 279 unten ist ein Grapgh. Darüber ist eine Wertetabelle abgedruckt.

Ich möchte gern den phi-Wert für 35°C ausrechnen. Daher habe ich mich für eine Interpolation entschieden.

Meine Frage ist nun, welchen Grades meine Interpolation sein sollte (ich habe linear und quadratisch bereits nachgerechnet). Je nach Art unterscheiden sich die Ergebnisse um 0,02675 g/m³ (Promille - Bereich ). Wichtig ist die Begründung, warum ich die jewilige Interpolationsart wähle. Daher dachte ich daran, dass sich die Interpolationsart nach dem Grad der Funktion richtet. Allerdings weiß ich nicht welchen Grades meine Funktion ist. Ich wollte auch nicht zu viel Aufwanf betreiben, weil über die Magnus - Formel beziehungsweise Idealgasgleichung den Grad der Abhängigkeit herauskriegen war mir zu viel Aufwand für eine solche kleine Zahl.

Ich danke euch schonmal für Antworten.
 
heißt das forum hier "Hausaufgabenbase"? Ache ne, ... warte, ... Computerbase, so war es.
 
quadratischer Zusammenhang.
linear wäre eine Gerade.

Alternativ müsste auch eine exponentielle Näherung sehr gut funktionieren.
 
Was sagt dir, dass der Zusammenhang nicht kubisch oder höheren Grades ist?! Die Funktion hat keine Nullstelle, nähert sich meines Wissens nur asymptotisch der Abszisse. Genau darum gehts ja. Klar kann ich dafür ne Gleichung dritten und zweiten Grades finden, aber was nun richtig ist und warum. Darum gehts!

Ist keine Hausaufgabe sondern Forschung :-)
 
fail, falsche Beitrag ;).. sry
 
Also zumindest bei Excel muss ich dem Programm ja auch sagen, mach mir das linear, quadratisch, kubisch oder oder oder.

Zanmatou

PS: :-D Super Schranzer ... verhunzt mir meinen ganzen wissenschaftlichen Kladeratdatsch mit ner eBay anzeige
 
die jeweiligen Sättigungsdampfdrücke kannst du aus der allgemeinen Gasgleichung berechnen

du solltest dich vllt. über phasendiagramme usw. informieren
 
Also @toooobi

wenn du damit meinst, dass ich phi über die wasserdampfpartialdichte und wd sättigungsdichte respektive wd partialdruck und sättigugnsdruck berechnen kann, weiß ich noch nicht, wie mir das weiterhelfen soll.
Außerdem war mir so, als dass ich dazu mehr brauche, zum Beispiel Taupunkt und so weiter.

Mich würde eine etwas fundierte Begründung interessieren, welchen Grades die Funktion ist und welche Interpolation ihr machen würdet.

Danke!

PS: Wenn ich mir in Excel nen Regressionsgraphen (exp) einblenden lasse, haut der natürlich ab etwa 30°C ganz schön ab. Deswegen dachte ich auch, dass es einfach quadratische Zusammenhönge sind (die Bestimmtheit liegt bei einer Näherung 2. Grades auch lt Excel höher als wenn ich es exp. angleichen lasse)

Zanmatou
 
Zuletzt bearbeitet:
Das, was auf diesem Graphen zu sehen ist, kann der Ausschnitt aus einem beliebigen Graphen sein. Dementsprechend kann dir niemand sagen, wievielten Grades die Funktion ist, die dort zu sehen ist.

Was du eigentlich machen möchtest, ist ja Daten zu EXTRApolieren, du kennst ja den Verlauf der Funktion außerhalb des gegebenen Bereichs nicht.
Du kannst trotzdem versuchen, eine Interpolante auf dem gegebenen Intervall zu berechnen und dann bei 35 auszuwerten. Der Fehler wird relativ gering sein, die Frage ist eigentlich nur, wie genau du das brauchst.

Angesichts des Kurvenverlaufs wäre eine lineare Interpolante ziemlich schwachsinnig, es sei denn, du wählst sehr nahe zusammen liegende Stützstellen am Rand des Intervalls.
Eine quadratische Interpolante oder eine Exponentialfunktion sollten aber ziemlich nah dran liegen - wichtig ist aber die Stützstellenwahl!
Wie die optimalerweise aussieht, weiß ich jetzt auch nicht aus dem Stehgreif, aber mit Startpunkt (x=-20), Endpunkt (x=30) und dem Mittelpunkt (x=5) müsstest du ganz gut fahren.
 
Meiner bescheidenen Meinung nach reicht ein Polynom 5-6. Grades sehr gut aus, wenn man so will ist man auch mit 3-4. Grad gut bedient. Da die Tabelle zwar nett ist, die Werte aber nur bis auf die erste Nachkommastelle und ohne Fehler angegeben werden, dürftest du damit gut fahren.
 
Irgendwie liest hier niemand zu Ende.

Zum einen INTERpoliere ich weil ich lt Wertetabelle -20 bis 40 °C abdecke und 35 °C ausrechnen will. Ich habe die Werte ausserdem "geplottet" und der Graph entspricht dem was ich dort im Buch sehe.

Für die lineare interpolation habe ich natürlich 34 und 36 °C als Stützstellen genommen.
Wenn ich mit der Trendlinie aus Excel, die über den gesammten Bereich (quadratisch)interpoliert rechne, weicht mein Wert für 35°C schon ziemlich vom Referenzwert ab (es soll und gefähr 39,6 rauskommen).
Wenn ich exponentiell interpoliere ist mein Ergebnis weit weg von Gut und Böse (Erklärung s.o.)
 
Sorry, ich war da etwas blind was die Tabelle angeht.
Die beste Lösung dürfte dann kubische Spline-Interpolation mit allen Stützstellen sein.

Ich hab aber auch mal lineare und quadratische Interpolation (wobei jeweils die Stützstellen in direkter Umgebung benutzt wurden) geplottet und verglichen, die Verhalten sich zwischen 34 und 36 quasi linear.
 
Zuletzt bearbeitet:
Okay, Dann lass ich Matalb mal darüber nachdenken.

Excel hat bei mir mit dem Polynom 6. Grades zwar eine schöne Kurve gezaubert, aber die Werte gefallen mir nicht.

Warum erachtest du deine Lösung als die beste @TotalEclpise? Interessiert mich nur, damit ichs verstehe :-)
 
Zuletzt bearbeitet: (RS - Fehler)
Mit kubischer Spline-Interpolation bekomme ich exakt 39,6 bei x=35 heraus.

Puh, warum ist das die beste Variante:
Ich hol mal etwas weiter aus: Interpolation bedeutet generell, ich versuche, mit einer Interpolante irgendwo durch festgelegte Punkte zu laufen (sagen wir mal, mit Polynomen, da können wir die Parameterzahl erhöhen mit den Stützstellen). Das führt bei vielen Stützstellen zu starken Oszillationen der entstehenden Polynome zwischen den Stützstellen, was absolut unerwünscht ist hier.
Man möchte also die "Glattheit" (nicht im Sinne von Differenzierbarkeit) der ursprünglichen Funktion bewahren.
Dazu benutzt man Splines, das sind lokal Polynome dritten Grades. An den Stützstellen werden dann aber nicht nur die Werte der Funktion, sondern auch die Werte der Ableitungen als Informationen hinzugenommen, was zu einem wesentlich glatteren Funktionsverlauf führt.

Wir verwenden also praktisch alle Informationen, die uns gegeben wurden (alle Stützstellen), während normale Interpolation mit allen Stützstellen zu katastrophalen Ergebnissen führen würde und lokale Interpolation (linear oder quadratisch) viele Informationen, die wir eigentlich haben, ungenutzt lassen.
So weit meine halb-mathematische Erklärung ;-) Ist aber auch schon wieder 2 Jahre her, dass ich mich da etwas intensiver mit beschäftigt hab.
 
Zanmatou schrieb:
...aber die Werte gefallen mir nicht.

Ob dir die Werte gefallen ist relativ irrelevant;) Wie schon gesagt, bezüglich des Fehlers hast du überhaupt keine Angabe und die Zahlen sind nur bis auf die erste Nachkommastelle angegeben. Da gibt es keinen Königsweg, eine Funktion zu fitten. Bei mir trifft es nach Rundung auf die erste Nachkommastelle (~39.6) nicht an wie ich interpoliere solange der Grad des Polynoms hinreichend gross ist oder ob ich per Spline interpoliere.

PS:
Wenn du mit Mathalb Matlab meinst (ohne Anspruch auf Korrektheit beim Datensatz):

d1 = [-20,-18,-16,-14,-12,-10,-8,-6,-4,-2,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40]';
d2 = [0.9,1.1,1.3,1.5,1.8,2.1,2.5,3,3.5,4.1,4.8,5.6,6.4,7.3,8.3,9.4,10.7,12.4,13.6,15.4,17.3,19.4,21.8,24.4,27.2,30.3,33.8,37.6,41.7,46.3,51.2]';
spline(d1,d2,35)
 
Zuletzt bearbeitet:
Ja, prima! Vielen Dank!

Es hat zwa rnicht viel mit meienr Forschung an sich zu tun, aber ich finde es sehr wichtig zu wissen wie die Messwerte entstanden sind. Mein Matlab / Mathematica Kurs ist auch schon eine Weil her, deshalb dank ich dir für den Auszug dOM89DoM :-)

Könnt ihr mir aus dem Stehgreif sagen was Matlab unter Spline n-ten Grades versteht? Ab wann begnügt sich Matlab also mit dem Ergebnis? Denn wenn ich ihn eine Spline-Interpolation machen lasse greift er doch auf polynome maximalen Grades n zurück oder? Deshalb interessiert mich das.

PS: Kann man irgendwo nachlesen welches Programm (Mathematica, Matlab, Maple k.A) die effizientesten Näherungsverfahren und die genausten Ergebnisse liefert?

Zanmatou
 
Eine sehr gute und einfache Näherung bekommst du mit einer Lösung diesen Typs: y=a*x^b (wobei x die Temperatur ist)
(allemal einfacher als ein Polynom 5. Grades - außerdem anwendbar auf den gesamten Datenbereich und zum Teil auch über die Grenzen hinweg)


Wenn du Matlab zur Verfügung hast: a und b werden von matlab ausgerechnet http://tuvalu.santafe.edu/~aaronc/powerlaws/
 
Zuletzt bearbeitet:
Unter einem Spline n-ten Grades verstehe ich persönlich dass die stückweise definierten Spline-Polynome eben maximal vom n-ten Grades sein dürfen. Im Normalfall (hier ebenso) ist man mit kubischem Spline gut bedient (mehr Grade machen nicht wirklich Sinn, zweifache stetige Differenzierbarkeit über das gesamte Intervall ist schon "nett"). Bei Interesse was "spline(d1,d2,35)" macht, siehe in der Matlab-Dokumentation.

Zanmatou schrieb:
Kann man irgendwo nachlesen welches Programm (Mathematica, Matlab, Maple k.A) die effizientesten Näherungsverfahren und die genausten Ergebnisse liefert?

Effizienz und Genauigkeit sind primär vom verwendeten Algorithmus und Verfahren (es gibt viele Varianten, Funktionen zu interpolieren) abhängig. Mathematica (und Maple) und Matlab - so verschieden sie in ihren Ausrichtungen und Anwendungsgebieten sind - sollten ungefähr die selben Resultate liefern (Numerik auf endlichen Fliesskommazahlsystemen ist NICHT exakt, das vergessen die meisten). Die Verfahren sind teilweise deutlich älter als alle heute populären Programme, denn das Rad erfindet man nicht mehr neu.
 
Zuletzt bearbeitet:
Zurück
Oben