|
|
Gleichung mit verschiedenen Zufallswerten füttern |
|
dannyh |

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 20.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011b (7.13.0564)
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 11:13
Titel: Gleichung mit verschiedenen Zufallswerten füttern
|
 |
Hallo,
ich bin noch nicht lange mit Matlab vertraut und komme an einer Stelle meiner Programmierung einfach nicht weiter. Ich hoffe ihr könnt mir weiterhelfen
Also ich möchte mit Matlab eine Funktion erstellen, die eine Gleichung mit verschiedenen Zufallswerten für die vorhanden Variablen (zwei sind es)
füttert und jedes einzeln berechnete Ergebnis automatisch benennt (G0......Gn) und im Workspace ablegt.
Meine Gleichung sieht wie folgt aus:
Hp, Sp: sind meine Variablen (Einzelwerte)
T: Ein Spaltenvektor mit n-Zeilen
Gruß
dannyh
|
|
|
|
|
Super8film |

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 13.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 11:18
Titel:
|
 |
also
sowas in die Richtung??
randn steht für normal-verteilt meine ich.
|
|
|
dannyh |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 20.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011b (7.13.0564)
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 11:29
Titel:
|
 |
Danke für die schnelle Antwort,
aber mir gehts eigentlich darum, dass ich einfach nicht weiß, wie ich eine Gleichung mehrmals mit verschied. Variablen durchlaufen lassen kann wobei dann jedes Ergbeniss einzelt und mit sys. Bennenung abgespeichert wird.
|
|
|
Super8film |

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 13.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 11:47
Titel:
|
 |
so im groben. Ich weiß halt nicht wirklich was Sp,Hp sind. Hoffe ich habe dein Problem richtig verstanden. Das oben ist nur ein Beispiel.
Hoffe es hilft
|
|
|
dannyh |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 20.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011b (7.13.0564)
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 12:39
Titel:
|
 |
ahh perfekt! Das bringt mich auf jedenfall schon Mal weiter, Danke.
Ich hab jetzt immer noch ein kleines Problem.
Also ich hab ja die Formel
Gp=Hp-T*(Sp./10^3)
Gp: Freie Enthalpie / Gibbs enthalpie
Hp: protonierungs Enthalpie
Sp: -"- Entropie
T: Temperatur
Also meine Variablen (Hp&Sp) sind jetzt Spaltenvektoren mit z.B. 100 Zeilen.
Meine Temperatur ist aber ebenfalls ein Spaltenvektor mit 87 Zeilen (extern eingelesene Messdaten). Meine Frage wäre jetzt, wie sage ich Matlab, dass ich immer nur Zeile für Zeile (sprich immer nur ein Wert) meiner Variablen benutzen will, um die Gleichung zu berechnen und somit mehrere Ergebnisse für Gp zu erhalten.
Mit der Funktion elementweise geht es leider nicht .
Ich hoffe ich habe mich verständlich ausgedrückt ^^
|
|
|
Super8film |

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 13.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 12:50
Titel:
|
 |
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 13:16
Titel:
|
 |
Hallo,
du könntest z.B. die Ergebnisse in verschiedene Spalten von Gp ablegen:
Grüße,
Harald
|
|
|
dannyh |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 20.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011b (7.13.0564)
|
 |
|
|
 |
|
Verfasst am: 20.03.2013, 13:42
Titel:
|
 |
jaaaa es klappt!
Dankeschön !
|
|
|
dannyh |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 20.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011b (7.13.0564)
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 12:11
Titel: Hilfffeeee
|
 |
Ich verstehe nicht, warum Matlab diese Funktion nicht ausführt !
Genau so eine ähnliche Funktion habe ich ein paar Zeilen vorher mit den selben dimensionen ausgeführt. Ich versteh es nicht.
N ist eine Spaltenvektor mit 87 Zeilen
pKAA2 ist eine Matrix mit 87x1000
|
|
|
Nras |

Forum-Meister
|
 |
Beiträge: 608
|
 |
|
 |
Anmeldedatum: 21.02.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.12.0.635 (R2011a)
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 12:47
Titel:
|
 |
Hallo,
vermutlich möchtest du
in Wirklichkeit an der Stelle
auslesen.
Beste Grüße,
Nras
|
|
|
dannyh |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 20.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011b (7.13.0564)
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 12:54
Titel:
|
 |
Neee,
ich wollte eigentlich alle Zeilen von dem Spaltenvektor N mit jeder von den 1000 Spalten von pKAA2 dividieren. Und so müsste das eignetlich stimmen. Aber matlab macht es einfach nicht. Er berechnet schon was aber es sind nicht die korrekten Ergebnisse. Die Formel es so richtig. Excel liefert die richtigen Ergebnisse ... Matlab komischerweise nicht.
|
|
|
Nras |

Forum-Meister
|
 |
Beiträge: 608
|
 |
|
 |
Anmeldedatum: 21.02.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.12.0.635 (R2011a)
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 12:57
Titel:
|
 |
Hallo,
dann versuchst du vermutlich, einem Eintrag in deiner Matrix Volumen_HCL(z,y) nicht nur einen Skalar, sondern einen ganzen Vektor zuzuweisen. Das Ergebnis deiner Operation ist nämlich ein Vektor.
Was kommt für eine Fehlermeldung?
Edit. Tut mir Leid, ich habe gelogen. Das Ergebnis ist vermutlich doch nur ein Skalar. Aber von pKAA2 wird nie die gesamte Matrix ausgelesen, du bleibst immer bei den ersten 1000 Werten.
|
|
|
dannyh |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 20.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2011b (7.13.0564)
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 14:02
Titel:
|
 |
Es kommt keine Fehlermeldung. MAtlab gibt einfach nicht das richtige Ergebnis aus.
Also VHCLt ist eine Matrix, (78x1000) die aus den 1000 einzelnen Berechnungen der Spaltenvektoren erzeugt wird.
Zwei Berechnugnen davor hat es ja auch noch geklappt;
Gp: Matrix 87x1000
TR: Spaltenvektor mit 87 Zeilen
Ob ich das jetzt mit zwei Schleifen machen oder so wie hier ist ja egal.
|
|
|
Nras |

Forum-Meister
|
 |
Beiträge: 608
|
 |
|
 |
Anmeldedatum: 21.02.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.12.0.635 (R2011a)
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 14:31
Titel:
|
 |
Hallo,
wie gesagt, bei deiner Matrix pKAA2 verlässt du nie die erste Spalte.
mit
siehst du dir bloß 87 mal die erste Spalte der 87x1000 Matrix an. Versuch bitte, ob Du wirklich nicht
meinst.
Viele Grüße.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 17:06
Titel:
|
 |
Hallo,
wenn ich das richtig verstehe:
Zitat: |
mit jeder von den 1000 Spalten von pKAA2 dividieren |
Dann musst du auch Spalten von pKAA2 auslesen, nicht einzelne Elemente.
Was dann herauskommt, ist logischerweise auch eine Ergebnisspalte. Das muss dann aber auch in eine Spalte der Ergebnismatrix geschrieben werden.
Zitat: |
MATLAB gibt einfach nicht das richtige Ergebnis aus. |
Das ist bei den meisten Programmen so, wenn man sie mit dem falschen Code füttert ;)
Grüße,
Harald
|
|
|
|
|
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.
|
|