|
|
 | | From: | Michael Meschik | | Subject: | Kurvenberechnung? | | Date: | Tue, 5 Oct 2004 09:59:28 +0200 |
|
|
 | Hallo Matheprofis und solche die es werden wollen,
hier ein Beispiel aus der Praxis: 0 5 10 15 20 25 30 Blech 1 5,1 134,6 255,6 431,2 506,3 606,7 677,1 Blech 2 4,5 125,5 225,8 366,5 473,3 547,6 609,6 Æ 4,8 130,05 240,7 398,85 489,8 577,15 643,35
Ich hoffe ihr könnt alle die Tabelle sehen (muss leider OE benutzen - Arbeitscomputer mit "Standardsoftwareadministration"). Dabei handelt es sich um Werte die bei einem Versuch ermittelt wurden um den Massenabtrag eines Bleches bei verschiedenen Konzentrationen eines Salzes zu bestimmen. - Die erste Zeile gibt die Konzentration des Salzes in g/l wieder - Die zweite und dritte Zeile sind die aus Differenzwägung gefundene Massenabträge der beiden Versuchsbleche bei den dazugehörigen Konzentrationen des Salzes. - Die vierte Zeile ist der Durchschnitt der beiden Bleche.
Wie kann man nun aus den gefundenen Werten eine Funktion konstruieren damit ich später nur den Massenabtrag eingeben muss und mir die entsprechende Konzentration an dem Salz ausgegeben wird? Es würde schon eine Annäherung genügen.
Wenn ich es linear probiere, über die Ermittlung des Steigungsdreiecks, bekomme ich von Punkt zu Punkt eine geringer werdenden Steigung. Ich hoffe ihr könnt mir helfen
mit freundlichen Grüßen M. Meschik
|
|
 | | From: | Thomas Plehn | | Subject: | Re: Kurvenberechnung? | | Date: | Sat, 9 Oct 2004 23:44:40 +0200 |
|
|
 | "Michael Meschik" schrieb im Newsbeitrag news:2sf2j1F1hhl4uU1@uni-berlin.de... > Wie kann man nun aus den gefundenen Werten eine Funktion konstruieren > damit > ich später nur den Massenabtrag eingeben muss und mir die entsprechende > Konzentration an dem Salz ausgegeben wird? Es würde schon eine Annäherung > genügen.
Eine Lösung mittels linearer Regression wurde ja unten schon erwähnt. Um zusätzlich noch die leichte Krümmung zu berücksichtigen, poste ich hier einen quadradischen Term, der deine Messreihe vielleicht etwas genauer wiedergibt:
2,46868E-5*x^2 + 0,0289391*x + 0,4222556
|
|
 | | From: | Thomas Plehn | | Subject: | Re: Kurvenberechnung? | | Date: | Sun, 10 Oct 2004 19:04:11 +0200 |
|
|
 | "Michael Meschik" schrieb im Newsbeitrag news:2sf2j1F1hhl4uU1@uni-berlin.de...
> Wie kann man nun aus den gefundenen Werten eine Funktion konstruieren > damit > ich später nur den Massenabtrag eingeben muss und mir die entsprechende > Konzentration an dem Salz ausgegeben wird? Es würde schon eine Annäherung > genügen.
Folgender Term ist eine sehr gute Annäherung an Deine Datenreihe. Falls Deine Daten nur minimale Fehler aufweisen, ließe sich nach diesem Gesetz jeder Zwischenwert berechnen.
f(x) = a_3*x^3 + a_2*x^2 + a_1*x + a_0
mit
a_0 = -0,339987521 a_1 = 0,051368041 a_2 = -6,72546E-05 a_3 = 9,43429E-08
|
|
 | | From: | Peter Niessen | | Subject: | Re: Kurvenberechnung? | | Date: | Sun, 10 Oct 2004 19:27:44 +0200 |
|
|
 | Am Sun, 10 Oct 2004 19:04:11 +0200 schrieb Thomas Plehn:
> "Michael Meschik" schrieb im Newsbeitrag > news:2sf2j1F1hhl4uU1@uni-berlin.de... > >> Wie kann man nun aus den gefundenen Werten eine Funktion konstruieren >> damit >> ich später nur den Massenabtrag eingeben muss und mir die entsprechende >> Konzentration an dem Salz ausgegeben wird? Es würde schon eine Annäherung >> genügen. > > Folgender Term ist eine sehr gute Annäherung an Deine Datenreihe. Falls > Deine Daten nur minimale Fehler aufweisen, ließe sich nach diesem Gesetz > jeder Zwischenwert berechnen. > > f(x) = a_3*x^3 + a_2*x^2 + a_1*x + a_0 > > mit > > a_0 = -0,339987521 > a_1 = 0,051368041 > a_2 = -6,72546E-05 > a_3 = 9,43429E-08
Wie hast Du das gemacht? Per Regression? Und viel wichtiger: Womit? Ich bekomme nämlich gerade das Problem sowas auch rechnen zu müssen.
Mit freundlichen Grüßen Peter Nießen
|
|
 | | From: | Thomas Plehn | | Subject: | Re: Kurvenberechnung? | | Date: | Sun, 10 Oct 2004 19:49:59 +0200 |
|
|
 | "Peter Niessen" schrieb im Newsbeitrag news:12v059tv306v$.rzzml5586asb$.dlg@40tude.net...
> Wie hast Du das gemacht? > Per Regression? > Und viel wichtiger: > Womit? > Ich bekomme nämlich gerade das Problem sowas auch rechnen zu müssen.
Ich habe mir vor einiger Zeit selbst eine Excel-Arbeitsmappe zusammengestellt, die eine Regression dritten Grades durchführen kann. Eine Erweiterung auf höhere Grade ist nach dem gleichen Schema problemlos möglich. Ich selbt benötige solche Berechnungen für mein Physik-Praktikum. Die in der Excel-Tabelle verwendete Formel ist bei Mathworld zu finden: http://mathworld.wolfram.com/LeastSquaresFittingPolynomial.html Ich gebe meine Excel-Arbeitsmappe an jeden weiter, der sie gebrauchen kann. Ich schicke sie per eMail zu. Allerdings wird eine neuere Version von Excel benötigt, da Visual-Basic-Code eingebunden ist.
|
|
 | | From: | Peter Niessen | | Subject: | Re: Kurvenberechnung? | | Date: | Mon, 11 Oct 2004 00:26:00 +0200 |
|
|
 | Am Sun, 10 Oct 2004 19:49:59 +0200 schrieb Thomas Plehn:
> "Peter Niessen" schrieb im Newsbeitrag > news:12v059tv306v$.rzzml5586asb$.dlg@40tude.net... > >> Wie hast Du das gemacht? >> Per Regression? >> Und viel wichtiger: >> Womit? >> Ich bekomme nämlich gerade das Problem sowas auch rechnen zu müssen. > > Ich habe mir vor einiger Zeit selbst eine Excel-Arbeitsmappe > zusammengestellt, die eine Regression dritten Grades durchführen kann. Eine > Erweiterung auf höhere Grade ist nach dem gleichen Schema problemlos > möglich. Ich selbt benötige solche Berechnungen für mein Physik-Praktikum. > Die in der Excel-Tabelle verwendete Formel ist bei Mathworld zu finden: > http://mathworld.wolfram.com/LeastSquaresFittingPolynomial.html > Ich gebe meine Excel-Arbeitsmappe an jeden weiter, der sie gebrauchen kann. > Ich schicke sie per eMail zu. Allerdings wird eine neuere Version von Excel > benötigt, da Visual-Basic-Code eingebunden ist.
Ja fände ich interessant den Exel-Code zu haben. Das Verfahren ist ja nicht neu nur fieslich rechenintensiv. Ich habe da mal ein anderes Verfahren "erfunden" und das wurde von den Gurus in de.sci.mathematik als machbar bis Gut betrachtet. Aber da war die Fragestellung ein wenig anders: Finde ein Polynom möglichst geringen Grades das eine gegebene Polygonkurve so gut wie möglich beschreibt. Das läuft dann über Integrale. Auf Wunsch erläutere ich das gerne. Der praktische Hintergrund war der Versuch grosse CAD-Datensätze zu verringern.
Mit freundlichen Grüßen Peter Nießen
|
|
 | | From: | Manuel_Hölß | | Subject: | Re: Kurvenberechnung? | | Date: | Wed, 13 Oct 2004 01:08:27 +0200 |
|
|
 | Peter Niessen wrote: > Am Sun, 10 Oct 2004 19:49:59 +0200 schrieb Thomas Plehn: > > >>"Peter Niessen" schrieb im Newsbeitrag >>news:12v059tv306v$.rzzml5586asb$.dlg@40tude.net... >> >> >>>Wie hast Du das gemacht? >>>Per Regression? >>>Und viel wichtiger: >>>Womit? >>>Ich bekomme nämlich gerade das Problem sowas auch rechnen zu müssen. >> >>Ich habe mir vor einiger Zeit selbst eine Excel-Arbeitsmappe >>zusammengestellt, die eine Regression dritten Grades durchführen kann. Eine >>Erweiterung auf höhere Grade ist nach dem gleichen Schema problemlos >>möglich. Ich selbt benötige solche Berechnungen für mein Physik-Praktikum. >>Die in der Excel-Tabelle verwendete Formel ist bei Mathworld zu finden: >>http://mathworld.wolfram.com/LeastSquaresFittingPolynomial.html >>Ich gebe meine Excel-Arbeitsmappe an jeden weiter, der sie gebrauchen kann. >>Ich schicke sie per eMail zu. Allerdings wird eine neuere Version von Excel >>benötigt, da Visual-Basic-Code eingebunden ist. > > > Ja fände ich interessant den Exel-Code zu haben. Das Verfahren ist ja nicht > neu nur fieslich rechenintensiv. Ich habe da mal ein anderes Verfahren > "erfunden" und das wurde von den Gurus in de.sci.mathematik als machbar bis > Gut betrachtet. Aber da war die Fragestellung ein wenig anders: > Finde ein Polynom möglichst geringen Grades das eine gegebene Polygonkurve > so gut wie möglich beschreibt. Das läuft dann über Integrale. Auf Wunsch > erläutere ich das gerne. Der praktische Hintergrund war der Versuch grosse > CAD-Datensätze zu verringern. > Eine geläufige Methode für sowas ist der sog. least square fit. Man setzt eine Funktion mit Parametern (weniger als die Anzahl der Datenpunkte) an und berechnet die Summe der Quadrate der Abweichungen zu dem Messwerten. Diese Summe minimiert man im Parameterraum. Wenn Du eine Funktion approximieren willst, wird anstelle der Summe das Integral über das Quadrat der Differenz genommen. In dem Fall der Polygonkurve, die durch ein Polynom approximiert werden soll, sollte das Integral quadratisch von den Parametern (hier die Koeffizienten des Polynoms) abhängen, ein Minimum müßte also leicht zu finden sein.
Grüße.
Grüße.
|
|
 | | From: | Karl | | Subject: | Re: Kurvenberechnung? | | Date: | Wed, 06 Oct 2004 07:07:41 +0200 |
|
|
 |
Hi, ich glaube, das beste w=E4re, Du schaust Dir mal die m=F6glichen=20 Funktionstypen an, die man anpassen kann. Dazu kenne ich zwei Stellen,=20 wo Du eine =DCbersicht finden kannst: 1) Im gaaanz alten Taschenbuch der Mathematik: Bronstein-Semendjajew ist =
auf den Seiten 521-527 ein Abschnitt =FCber das Aufstellen empirischer=20 Formeln. (Wurde leider in den neueren Auflagen weggelassen, meine alte=20 ist von 1973). 2) Im Online-Handbuch statistischer Methoden vom NIST ist z.B. hier auch =
eine Sammlung von Funktionen, die man verwenden kann.
http://www.itl.nist.gov/div898/handbook/pmd/section8/pmd81.htm
Dann vergleich die Funktionen mit Deinen Daten und fitte die, die am=20 besten pa=DFt. Gru=DF Karl
|
|
 | | From: | Karl | | Subject: | Re: Kurvenberechnung? | | Date: | Wed, 06 Oct 2004 07:27:45 +0200 |
|
|
 | Korrektur zu meiner Mail. Das Kapitel =FCber die Aufstellung empirischer Formeln gibt es auch in=20 neueren Auflagen des Bronstein. Ist jetzt im Kapitel =FCber Funktionen,=20 siehe diesen Link (Inhaltangabe):
http://www.harri-deutsch.de/verlag/titel/bronstei/i02_2015.htm
Ciao Karl
|
|
 | | From: | Michael Meschik | | Subject: | Re: Kurvenberechnung? | | Date: | Tue, 5 Oct 2004 10:36:12 +0200 |
|
|
 | Nachtrag > 0 5 10 15 20 25 30 > Blech 1 5,1 134,6 255,6 431,2 506,3 606,7 677,1 > Blech 2 4,5 125,5 225,8 366,5 473,3 547,6 609,6 > Æ 4,8 130,05 240,7 398,85 489,8 577,15 643,35
Konzentration 0 5 10 15 20 25 30 Blech 1 5,1 134,6 255,6 431,2 506,3 606,7 677,1 Blech 2 4,5 125,5 225,8 366,5 473,3 547,6 609,6 Mittelwert 4,8 130,05 204,7 398,85 489,8 577,15 643,35
Hoffe jetzt besser lesbar
-- Gruß M. Meschik
|
|
 | | From: | Peter Niessen | | Subject: | Re: Kurvenberechnung? | | Date: | Tue, 5 Oct 2004 10:31:54 +0200 |
|
|
 | Am Tue, 5 Oct 2004 09:59:28 +0200 schrieb Michael Meschik:
> Hallo Matheprofis und solche die es werden wollen, > > hier ein Beispiel aus der Praxis: > 0 5 10 15 20 25 30 > Blech 1 5,1 134,6 255,6 431,2 506,3 606,7 677,1 > Blech 2 4,5 125,5 225,8 366,5 473,3 547,6 609,6 > Æ 4,8 130,05 240,7 398,85 489,8 577,15 643,35 > > > Ich hoffe ihr könnt alle die Tabelle sehen (muss leider OE benutzen - > Arbeitscomputer mit "Standardsoftwareadministration"). > Dabei handelt es sich um Werte die bei einem Versuch ermittelt wurden um den > Massenabtrag eines Bleches bei verschiedenen Konzentrationen eines Salzes zu > bestimmen. > - Die erste Zeile gibt die Konzentration des Salzes in g/l wieder > - Die zweite und dritte Zeile sind die aus Differenzwägung gefundene > Massenabträge der beiden Versuchsbleche bei den dazugehörigen > Konzentrationen des Salzes. > - Die vierte Zeile ist der Durchschnitt der beiden Bleche. > > Wie kann man nun aus den gefundenen Werten eine Funktion konstruieren damit > ich später nur den Massenabtrag eingeben muss und mir die entsprechende > Konzentration an dem Salz ausgegeben wird? Es würde schon eine Annäherung > genügen. > > Wenn ich es linear probiere, über die Ermittlung des Steigungsdreiecks, > bekomme ich von Punkt zu Punkt eine geringer werdenden Steigung. > Ich hoffe ihr könnt mir helfen
Eine Funktion beliebigen Grades durch die Messpunkte zu legen geht immer. Funktioniert wie eine Ausgleichsgerade Rechnen, es ist nur mehr Arbeit. Tabellenkalkulationen sollten eine solche nichtlineare Regression beherrschen. Aber Vorsicht! Je höher der Grad um so numerisch instabiler wird ein solches Polynom. Wirlich sinnvoll ist es zu überlegen ob es ein Naturgesetz geben könnte was hinter den Daten steckt. Also Funktion ausdenken und gegen die Werte Testen.
Mit freundlichen Grüßen Peter Nießen
|
|
 | | From: | Michael Meschik | | Subject: | Re: Kurvenberechnung? | | Date: | Tue, 5 Oct 2004 17:23:56 +0200 |
|
|
 | Hallo Peter Niessen,
"Peter Niessen" schrieb im Newsbeitrag news:1btzuthkhoaq2$.2umowq2rzb1n$.dlg@40tude.net... > > Eine Funktion beliebigen Grades durch die Messpunkte zu legen geht immer. > Funktioniert wie eine Ausgleichsgerade Rechnen, es ist nur mehr Arbeit. > Tabellenkalkulationen sollten eine solche nichtlineare Regression > beherrschen. Aber Vorsicht! Je höher der Grad um so numerisch instabiler > wird ein solches Polynom. > Wirlich sinnvoll ist es zu überlegen ob es ein Naturgesetz geben könnte was > hinter den Daten steckt. Also Funktion ausdenken und gegen die Werte > Testen.
Das das Excel kann hat mir schon sehr weiter geholfen, aber wie macht man das zu Fuß? Hab auch das mit den verschiedenen Graden ausprobiert und weis jetzt was du mit numerisch instabiler meinst :-)
Was das Naturgesetz betrifft kann ich nur sagen das es sehr viele Unabwägbarkeiten in der Chemie gibt (Nebenreaktionen, interionische Wechselwirkungen ...) das es schwierig ist da eine Gesetzmäßigkeit herauszufinden. Die Werte wurden rein empirisch im Laborversuch ermittelt und stellen trotzdem nur eine Annäherung an die Produktionsbedingungen dar. Leider wichen die Angaben über den Abtrag des Herstellers so sehr ab (war eine Gerade) das ich eben selber Untersuchen musste wie sich das ganze verhält.
Danke für die Hilfe
Gruß Michael Meschik
|
|
 | | From: | Peter Niessen | | Subject: | Re: Kurvenberechnung? | | Date: | Tue, 5 Oct 2004 18:19:11 +0200 |
|
|
 | Am Tue, 5 Oct 2004 17:23:56 +0200 schrieb Michael Meschik:
> Hallo Peter Niessen, > > "Peter Niessen" schrieb im Newsbeitrag > news:1btzuthkhoaq2$.2umowq2rzb1n$.dlg@40tude.net... >> >> Eine Funktion beliebigen Grades durch die Messpunkte zu legen geht immer. >> Funktioniert wie eine Ausgleichsgerade Rechnen, es ist nur mehr Arbeit. >> Tabellenkalkulationen sollten eine solche nichtlineare Regression >> beherrschen. Aber Vorsicht! Je höher der Grad um so numerisch instabiler >> wird ein solches Polynom. >> Wirlich sinnvoll ist es zu überlegen ob es ein Naturgesetz geben könnte > was >> hinter den Daten steckt. Also Funktion ausdenken und gegen die Werte >> Testen. > > Das das Excel kann hat mir schon sehr weiter geholfen, aber wie macht man > das zu Fuß? Hab auch das mit den verschiedenen Graden ausprobiert und weis > jetzt was du mit numerisch instabiler meinst :-)
Die Idee ist die gleiche wie bei einer Regressionsgeraden. Gerade: zwei aufeinderfolgende Punkte bilden eine Gerade berechne nun alle Geraden und bilde davon den Mittelwert. Das ist schon alles. wenn die Punkte nicht Abstandsgleich sind, musst Du die einzelnen Geraden natürlich Gewichten. Also Kurve n-ten Grades: n+1 Punkte bilden die Kurve davon wieder das Mittel berechnen fertig. Das steht in einem klugen Buch auch als Formel damit man noch Rechenarbeit spart. Es geht natürlich noch besser über das fitten mit einem Integral, das ergibt Funktionen mit möglichst geringem Grad. Aber ab ca Grad 5 musst Du wohl meistens das Ding in Stücke zerlegen und einen Spline-fit machen. Wie empfindlich ein Polynom auf Fehler reagiert kannst du durch ausprobieren Testen. Man erkennt das aber auch daran ob sich die Koeffizienten nur wenig unterscheiden. Mit freundlichen Grüßen Peter Nießen
|
|
|