Da Hyperion Interesse angemeldet hat, beschreibe ich hier, wie ich eine Funktion bestimmt habe, die das Wachstum von Kristallen bei der Verdunstungsmethode beschreiben soll. Das Experiment habe ich für Ammoniumkobaltsulfat durchgeführt,
hier ist mein Thema dazu. Gleich vorweg: Die Berechnung mit diesem Ansatz wird so auswändig, dass man sie auf diese Weise kaum ohne die Hilfe des Computers durchführen kann.
RahmenbedingungenZunächst wurde die Masse des wachsenden Einzelkristalls an 11 unterschiedlichen Zeitpunkten bestimmt, die etwa einen Tag auseinander lagen. Der Kristall wurde mit einem einigermaßen fusselfreien Tuch abgewischt und dann gewogen (Ablesbarkeit der Waage: 0,01 g). Es wurden Zeitpunkt der Wägung und Masse des Kristalls notiert. Dann wurde der Kristall wieder bis zum nächsten Wiegen in die Lösung gegeben. Mitgewogen wurde der Faden, an dem der Kristall wächst, und der Draht, an dem der Faden befestigt ist.
VorarbeitAnschließend wurde zu jedem der Zeitpunkte, zu denen gemessen wurde, die Anzahl der Stunden bestimmt, die seit Beginn des Kristallwachstums vergangen waren (Zeitpunkt 0 = erste Wägung). Das geht z.B. leicht mit einem Tabellenkalkulationsprogramm, wenn man in die erste Spalte Datum und Uhrzeit eingibt (Spaltenformat: Datum von der Art "15.06.2009 18:30:00"). In der nächsten Spalte bildet man dann die Differenzen der Einträge mit der Formel "=A2-$A$1" und füllt nach unten aus. Die Ausgabe erfolgt in Stunden.
Mathematischer Teil - AusgangssituationNun der mathematische Teil: Wir haben zu jeder durchgeführten Wägung die Zeit in Stunden seit Beginn des Experiments. In meinem Fall macht das 11 Tupel, wobei ich die Zeit in der ersten, die Masse in der zweiten Komponente eintrage. Dadurch erhielt ich folgende Tupel:
(0, 0,26)
(24,5, 0,27)
(48, 0,29)
(72,5, 0,34)
(96, 0,4)
(119 + 1/3, 0,48)
(143 + 1/6, 0,58)
(149, 0,61)
(172, 0,73)
(194, 0,86)
(214 + 2/3, 0,97)
Mathematischer Teil - GrundüberlegungenGesucht ist nun eine Kurve, die möglichst genau durch die bereits bestimmten Punkte von oben geht und auch den Verlauf darüber hinaus beschreibt. Gerade der letzte Punkt macht die Sache nicht ganz einfach. Ich hatte folgende Überlegung zur
Masse-Änderung angestellt, d.h. zum Wachstum der Kristalle. Es geht also um die Ableitung der gesuchten Massefunktion, denn die Ableitung des Bestands (Masse) ist die Bestandsänderung (Masse-Änderung):
- Das Wachstum der Kristalle ist begrenzt, z.B. durch die Menge an Flüssigkeit, die verdunstet.
- Das Kristallwachstum wird am Anfang deutlich kleiner sein als diese Grenze, weil der Kristall noch sehr klein ist und deshalb mit seiner kleinen Oberfläche gar nicht das ganze "überschüssige Salz" aufnehmen kann.
Die Wachstumsfunktion wird also in etwa so aussehen wie die Umkehrfunktion zum Tangens, der Arkustangens:
00.png (9.61 KB . 700x416 - angeschaut 671 Mal)f(x) = arctan(x)
Für uns ist nur der Teil für x>0 interessant. Ich habe den negativen Bereich mit angegeben, damit man sich die Funktion besser vorstellen kann. Ein paar Dinge sind hier allerdings noch nicht berücksichtigt worden:
- Die Masse des Kristalls beginnt nicht bei 0, sondern in meinem Fall bei 0,26. Die ganze Funktion muss also ein Stück nach oben verschoben werden.
- Genauso könnte es sein, dass das Wachstum in Wirklichkeit flacher anfängt als in obigem Bild und eine gewisse Anlaufphase braucht, d.h. die Funktion muss ein Stück nach rechts verschoben werden.
- Der Arkustangens hat obere Schranke Pi/2, also ca. 1,5 - aber wer sagt, dass das die Grenze für die Massenzunahme in unserem Fall ist? Man wird also die Funktion nach oben / unten zusammenstauchen oder dehnen müssen, damit das tatsächliche Wachstum möglichst exakt beschrieben wird.
- Es könnte sein, dass der recht "sanfte" Anstieg des Arkustangens das Kristallwachstum nicht richtig beschreibt, der Anstieg von der unteren zur oberen Grenze müsste vielleicht abrupter gehen - oder umgekehrt.
Daher ändern wird nun diese Grundfunktion wie folgt ab. Es werden Parameter a, b, c, d eingeführt, die später vom Computer so angepasst werden, dass die Ergebnis-Funktion möglichst genau zu den Messwerten passt.
Verschiebung nach links / rechts:
01.png (9.68 KB . 700x416 - angeschaut 673 Mal)f(x) = arctan(x + c)
Hinweis: Die Verschiebung nach links und rechts ist derjenige Schritt, der die ganze Sache später so kompliziert macht. Denn wegen diesem Summand kann nur schwer eine Stammfunktion angeben kann.
Verschiebung nach oben / unten:
02.png (9.69 KB . 700x416 - angeschaut 671 Mal)f(x) = arctan(x + c) + d
Wachstumsgrenze höher / niedriger:
03.png (11.33 KB . 700x416 - angeschaut 716 Mal)f(x) = a * arctan(x + c) + d
Wachstum sanfter / abrupter:
04.png (11.46 KB . 700x416 - angeschaut 674 Mal)f(x) = a * arctan(b*x + c) + d
Die Funktion f ist die Ableitung der gesuchten Massefunktion. Wir bilden also eine Stammfunktion F (die Massefunktion selbst) zu f und bestimmen die Parameter a, b, c, d so, dass die (in meinem Fall 11) Messpunkte möglichst auf dem Graphen von F liegen. Ich erspare euch die genaue Gestalt der Stammfunktion, sie sieht nicht schön aus
.
Mathematischer Teil - OptimierungDie Abstand zwischen der y-Koordinaten jedes Messpunkts und dem Funktionswert von F an derselben Stelle soll möglichst gering sein, denn dann stimmen beide gut überein.
Nehmen wir an, ich schlage konkrete Werte für a, b, c, d vor und möchte nun prüfen, ob diese besser sind als andere Werte, die ich vorher ausprobiert habe. Wir brauchen eine Maßzahl, die uns angibt, die gut unsere Wahl von a, b, c, d ist. Je näher die Zahl an 0 ist, desto besser, je größer sie ist, desto schlechter. Ich habe dazu die Summe der Quadrate der vertikalen Abstände benutzt, weil durch das Quadrieren kleine Werte begünstigt werden (das Quadrat von Zahlen <1 ist kleiner als die Zahl selbst) und große bestraft werden (das Quadrat von Zahlen >1 ist kleiner als die Zahl selbst). Wenn wir also Messpunkte (t
1, m
1), ..., (t
n, m
n) haben, dann soll folgende Summe möglichst klein sein:
(m
1 - F(t
1))
2 + ... + (m
n - F(t
n))
2Wir suchen die Werte für a, b, c und d, für die das der Fall ist. Wenn wir sie haben, brauchen wir sie nur noch in die Stammfunktion einzusetzen und erhalten als Ergebnis die Massefunktion:
F(x) = 0,0148515 * arctan(0,00299613x + 0,328413)x - 0,00507093x - 0,0000444971 (55699 * ln(8,97682*10
-6x
2 + 0,00196794x + 1,10786) - 36584,6 * arctan(0,00299613x + 0,328413))
Die Berechnung konnte ich nur numerisch durchführen (habe also keine exakten Ergebnisse erhalten, nur Dezimalzahlen). Der Graph und die Messpunkte sehen dann so aus:
05.png (16.49 KB . 700x443 - angeschaut 674 Mal)Man sieht, dass Massefunktion und Messwerte sehr gut zueinander passen, der gemittelte quadratische Fehler beträgt nur 0,0000199766 ("Gramm").
Dass die ersten Messpunkte und F so gut übereinstimmen ist ein gutes Ergebnis, aber es bleibt abzuwarten, ob das Wachstum auch im späteren Verlauf gut durch die Funktion beschrieben wird. Ich denke aber, dass das zugrunde liegende Modell sinnvoll gewählt wurde.
Ich hoffe, meine Beschreibung ist verständlich
. Andernfalls ruhig nachfragen
.