Verfasst am 07.03.2008 03:22:40 Uhr Der Unterschied zwischen dem Urknall und der Simulation von Titrationskurven mit CurTiPot Ich bekomme schon langsam fieberkurven-gebogene Schlitzaugen. Ab jetzt kann der erste Button "Berechne den pH-Startwert" ("Calculate Initial pH" (engl.), "Calcular pH inicial" (bras.prt.)) auf dem Datenblatt "Simulation" mit Staroffice bedient werden. Das Umschreiben von VBA-Code auf StarBasic nur für diese Seite hat seit gestern Mittag bis jetzt nonstop 13 Stunden gedauert. Nun ergibt sich nach ca. 45 sek Rechenzeit bei mir ein pH-Anfangswert (oder pH-Initialwert) von 1,80593270948157, der dem Referenz-Wert "initial pH" (engl.) (pH inicial (bras.-prt.)) in allen Ziffern entspricht, als String "1,806" im Tabellenfeld "B20" und "B41" ausgedruckt. Was will man mehr? Auch bei diesem "Umstricken" gab es die meisten Falschberechnungen durch fehlende Einträge von Variablen in den Übergabelisten der Prozeduren und Funktionen. Da vererbt sich bei StarBasic ausser den Fehlern nichts.... Die Zuordnung der Makros zu diesem ersten Button war auch nicht schwer. Leider hat Starbasic die Zuordnungen der Makros zu den Schaltflächen weggelöscht. Daher werden noch einige Teststunden (und Tage ?) nötig sein, bis dieses Datenblatt voll unter Staroffice funktionstüchtig ist. Ich freue mich jetzt schon darauf, endlich mal das notwendige Programm-Knowhow für eine beliebige Kurvengrafik unter Staroffice zu lernen. Und die original-freeware "CurTiPot" (Prof.Gutz, SaoPaulo) hat noch mehr Datenblätter. Gute Nacht! (dp) (0,5h) P.S.: Ja und was ist nun der Unterschied zum Urknall? Der soll in wenigen Bruchteilen von Sekunden die ganze Welt entstehen lassen haben. Alles ist eben relativ. Nachtrag_1 am 07.3.2008 um 18.15Uhr: Hier ein Bild von meiner Baustelle: ![]() Damit meine offline Version überhaupt noch den Code bewältigen und abspeichern konnte, musste ich das CurTiPot bei mir in seine Bestandteile zerlegen:
Dass die Grafik schon funktioniert, ist wohl eine eingebaute Fähigkeit von Staroffice. Aber ich erkenne, dass prinzipiell mein Problem, ein Geländeprofil, welches sowohl in x- als auch in y-Koordinaten nichtäquidistante Zuwächsen hat, so einfach aus der Staroffice-Tabelle nicht erzeugt werden kann. Aber da ich nun weiß, wie man Makros benutzen kann, kann man die Rohdaten einer Wanderung durchs Gelände dann evtl. damit für eine mindestens in einer Koordinate äquidistanten Darstellung umwandeln. Dies wird aber noch Monate dauern, bis ich hierfür Zeit finde. (dp) (0,35h) Nachtrag_2 am 08.3.2008 um 00.35Uhr: Nun habe ich mir eine Statusfläche eingebaut, die mir anzeigt, ob meine CurTiPot-Testversion gerade rechnet oder wieder fertig damit ist. Inzwischen habe ich entdeckt, wo man den zu plottenden Grafikbereich einstellt. Hierzu klicke man mit der linken Maustaste auf das Grafikelement, dann erneut mit der rechten Maustaste auf dasselbe, worauf sich ein Menü öffnet. Dort wähle man den Menüpunkt "Datenbereich ändern". Im nachfolgenden Popup-Fenster steht im Auswahlmenü "Bereich" dieser der Tabelle zugeordnete Code: $Simulation.$B$41:$B$201; $Simulation.$D$41:$D$201; $Simulation.$BB$41:$BB$201; $Simulation.$BD$41:$BD$201;$Simulation.$BF$41:$BF$201; $Simulation.$BH$41:$BH$201;$Simulation.$BJ$41:$BJ$201; $Simulation.$BL$41:$BL$201;$Simulation.$BN$41:$BN$201; $Simulation.$BP$41:$BP$201;$Simulation.$BR$41:$BR$201; $Simulation.$BT$41:$BT$201;$Simulation.$BV$41:$BV$201; $Simulation.$BX$41:$BX$201;$Simulation.$BZ$41:$BZ$201; $Simulation.$A$41:$A$201 Es werden für die Referenzeinstellung zum Original-CurTiPot folgende ZellBereiche ausgewählt:
Ob allerdings der höchste Zeilenindex 201 von Staroffice automatisch erzeugt worden ist, weil ich zu Testzwecken den ersten Datensatz zur Berechnung des pH-Startwertes manuell dorthinein kopiert habe, denn er wird vom Programm CurTiFit nicht weggelöscht, ist noch unklar. Der Bereich "pH simulated with error" ist bei mir noch leer. Daher kann die zweite Kurve nicht kommen. Was mich für die Testtitration einer verdünnten Phosphorsäurelösung in 50 Einzelschritten noch wundert, ist das Fehlen von Daten ungleich Null in meinen "h2"-Spalten "J41 bis J91" und "Q41 bis Q91". (Später erkenne ich, dass ich beim Umschreiben von VBA nach StarBasic wiederum das Feld "hbar" vergessen hatte, als "DIM hbar(11) As Double" zu deklarieren) (dp) (1h) Nachtrag_3 am 08.3.2008 um 05.45Uhr: Trotz das die Kurven "schön" aussehen, wie sich das für "Chemie zum Anfassen gehört", bin ich noch nicht davon überzeugt, dass alle simulierten Größen richtig in der zur Grafik gehörenden Werteliste ausgegeben werden. Das ist noch Stoff für's Wochenende. Aber immerhin, nun lassen sich Titrationskurven mit konstantem pH-Zuwachs "dpH" und mit konstantem Volumen-Zuwachs "dV" vergleichen. Wenn man dpH und dV nur klein genug wählt, dürfte kein Unterschied mehr zu sehen sein. ![]() Die beiden Grafiken sind selbsterklärend. Dann erkläre mir bitte die Grafik, wieso das Programm CurFit zusätzlich die Diagonale ins untere Bild einzeichnet? (dp) (0,5h) Nachtrag_4 am 08.3.2008 um 23.35Uhr: Das Bilderrätsel von Nachtrag_3 ist fast gelöst. Vermutlich liegt es daran, dass sich zu einer Kurve, die mit Hilfe einer äquidistanten pH-Änderung simuliert wird, im Kurvenarchiv (ab Spalte BA bis BZ) ein Kurve gesellt, die mit Hilfe einer äquidistanten Volumen-Änderung simuliert wird. Dass dies eine plausible Erklärung sein kann erkennt man, wenn man die Kurvenarchivdaten mit einer Funktion manipuliert: ![]()
Wenn man dennoch vorhat, Kurven aus verschiedenen Methoden zusammen zu publizieren, müsste man die zweite und weitere Kurve im gleichen Ausgabeformat ohne Hintergrund, Rahmung und Beschriftung quasi als Maskenebene mit Hilfe z.B. eines Photoshop-Programmes manuell zusammen bringen und dann auf eine Hintergrundebene reduzieren. Dies stelle ich mir als unsinnige Strafe vor, weil es eine Sisyphusarbeit sein dürfte, die Kurven ohne Begrenzungsrahmen exakt zu positionieren. Besser ist es, mit Hilfe von Staroffice die Zusatzkurve(n) als weitere Ebene(n) zur ersten Grafikebene automatisch dazu zu zeichnen.
![]() ![]() archiviert (tbid1995.381): (dp) 17.06.2009 (+0,25h (+flagcounter +home.icon +w3c_LiCh +4navi +html-korr.)) | ||||||