|
|
Was ist hier besser ? fsolve oder über die inverse Matrix? |
|
MoritzMoritz |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.03.2011, 13:01
Titel: Was ist hier besser ? fsolve oder über die inverse Matrix?
|
 |
|
 |
|
Hallo,
zuallererst: mir fehlt bei manchen Dingen das mathematische Verständniss, da ich früher Matrizenrechnungen immer umgangen habe. Gestern habe ich folgendes Beispiel mit einer einfachen MAtrizenrechnung in Excel gelöst und finde Matrizen einfach wunderbar. Nun möchte ich das in Matlab lösen:
Ich habe mehrere Gleichungen ( Zitronensäure und Phosphorsäure bzw deren Dissoziationsstufen):
Für Jeden Stoff vier mögliche Dissoziationsstufen
H3A H2A HA A
H3B H2B HB B
Für jede Dissoziationsstufe eine Gleichgewichtskonstante
z.B
Ka1=H2A*H/H3B etc
H ist die Wasserstoffionen- Konzentration
OH die Hydroxylionen- Konzentration
Kw=OH*H=10^(-14)
Dann noch eine Gleichung für die Ladungen
H + Na = H2PO4 + 2*HPO4 + 3*PO3 + .... + OH
TA = H3CA + H2CA + HCA + CA
TB = analog mit H3PO4
Das sind 10 Gleichungen
7 Konstanten (bzw werden als solche Betrachtet)
20 Variablen
Davon 13 Unbekannt
Jetzt können folgende Anfangsbedingungen gefunden werden:
1)
Laut Arbeiten wurden für TA=X und TB=Y bestimmte H Konzentrationen gefunden und ich kann in Excell wunderbar alle anderen Variablen finden.
Damit kann ich die Zusammensetzung in der Lösung berechnen. Soweit alles gut, aber von bedingtem Nutzen
2) Ich variiere TA und TB z.B TA=0:10^(-3):1 und bekomme dafür eine H Konzentration.
Damit Habe ich 10 Gleichungen und 10 Unbekannte
Interessant ist vor allem die Wasserstoffionenkonzentration zu erhalten.
In Excel kann ich eine Tabelle wie folgt machen: für fixe Ta und Tb und H
H3P04 H2PO4 HP04 .... OH Na
TA
1 1 1 TB
Ka1
1 Kw
usw
Ich löse das Problem, indem ich die Inverse mit dem Vektor (TA ; TB ; Ka1 etc) multiplziere und bekomme die einzelnen Ionen in der Lösung
Mit Matlab kann ich natürlich das Ganze als MAtrix eingeben und ganauso lösen.
Fragen:
1)
Kann ich in Matlab eine ähnliche Tabelle erzeugen und beschriften ? oder muss ich mit Block und Bleistift die Struktur aufzeichnen um später die Variablen den Zahlenwerten zuordnen zu können?
2) Ist es sinnvoll mit TA=0:0.001:1 und TB=0:0.001:1 als Anfangsbedunge die H-Konzentration zu bestimmen? H ist damit eine Variable die überlbleibt
Mache ich das mit fsolve ? Bzw wie löse ich so ein Problem am elegantesten mit Matlab.
Ich kenne erst wenige Befehle, da ich vorgestern zum ersten Mal mit Matlab gearbeitet habe. Deshalb würde ich mich über Hinweise freuen, welche Befehle am geeignetsten sind. Wie diese zu verwenden sind, kann ich über die Matlab Hilfe und Trial and Error harausfinden
sg
Moritz
|
|
|
|
|
MoritzMoritz |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.03.2011, 13:15
Titel:
|
 |
Fehler im ersten Text:
Egal was ich berechnen möche und was nicht (habe gerade einen Fehler in meinem Modell gefunden) Und kann die Wasserstoffionenkonzentration jetzt auch mit Excel berechnen.
Die Fragen bleiben die gleichen
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|