|
|
Optimization-Toolbox: Welche Funktion passt (am besten)? |
|
ccrl |
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 01.11.12
|
|
|
|
Wohnort: Braunschweig
|
|
|
|
Version: R2011b
|
|
|
|
|
|
Verfasst am: 06.12.2012, 17:02
Titel: Optimization-Toolbox: Welche Funktion passt (am besten)?
|
|
|
|
|
Hallo,
ich möchte die Kosten eines Wärmespeichers optimieren. Die Kostenfukntion ist von vielen Parametern abhängig, teilweise in dritter Potenz.
k(l³,h,m,c,etc.)=...
Kopfschmerzen bereitet mir allerdings die Randbedingung der Austrittstemperatur T(t,l³,h,m,c,..). Zur Vereinfachung diskretisiere ich den Wärmespeicher. Er wird in n Schichten geteilt. Die Eintrittstemperatur in eine Schicht ist die Austrittstemperatur der vorherigen Schicht.
%vereinfacht dargestellt
T(n)=a*T(n-1)+b*exp(c*t)
Mein Ziel ist die Randbedingung: T(n)<=50
(Der Wärmespeicher soll also so ausgelegt werden, dass die Austrittstemperatur aus der letzten Schicht T(n)<=50°C ist.)
Weiteres Problem ist, dass die Anzahl der Schichten variabel bleiben soll. Ausrechnen und einsetzen läuft also nicht
Fragen:
1. Kann ich dieses Problem überhaupt mit der Optimization-Toolbox lösen?
2. Welche Funktion nehme ich am besten?
Ich hoffe ich habs verständlich rüber gebracht und dass mir jemand helfen kann. Mein Gemütszustand schwankt zwischen und
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.12.2012, 17:18
Titel:
|
|
Hallo,
klingt nach fmincon.
Zitat: |
Weiteres Problem ist, dass die Anzahl der Schichten variabel bleiben soll. |
Für eine bestimmte Optimierung bleibt diese Anzahl aber fest, oder ist sie veränderlich? Was spricht denn gegen "ausrechnen und einsetzen"?
Sind a,b,c gegeben?
Welche Größen sind denn überhaupt veränderlich und welche nicht? Das ist das erste, worüber du dir Gedanken machen solltest.
Grüße,
Harald
|
|
|
ccrl |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 01.11.12
|
|
|
|
Wohnort: Braunschweig
|
|
|
|
Version: R2011b
|
|
|
|
|
|
Verfasst am: 07.12.2012, 09:18
Titel:
|
|
Moin Harald,
die zu optimierenden Größen sind:
h,D,d,m
a,b,c sind Konstanten und gegeben.
Und für eine Optimierung bleibt die Anzahl unveränderlich.
"ausrechnen und einsetzen":
ich will das Programm so variabel wie möglich halten. Wenn es nicht anders geht, werde ich so vorgehen. Allerdings wirds die Rechnung um so genauer je mehr Schichten ich habe. Deshalb wäre es optimal wenn ich das ganze über eine Schleife laufen lassen könnte.
Gruß
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.12.2012, 09:44
Titel:
|
|
Hallo,
dann leg mal los. Die Zielfunktion ist deine Kostenfunktion, die Randbedingung kannst du als nichtlineare Nebenbedingung implementieren.
Bitte die Doku zu fmincon sorgfältig lesen, einschließlich des darin verlinkten Themas "Passing Extra Parameters". So kannst du a,b,c und die Anzahl der Schichten übergeben.
Grüße,
Harald
|
|
|
ccrl |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 01.11.12
|
|
|
|
Wohnort: Braunschweig
|
|
|
|
Version: R2011b
|
|
|
|
|
|
Verfasst am: 07.12.2012, 09:52
Titel:
|
|
Alles klar das hört sich vielversprechend an, vielen Dank.
Eine kurze Frage habe ich noch. Gibt es auch deutsche Funktionserklärungen? Ich finde nur englische. Ich habe kein Problem mit der englischen Sprache, aber auf deutsch würde es einfacher fallen.
Gruß
Carl
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 07.12.2012, 10:39
Titel:
|
|
Hallo,
natürlich kann es sein, dass du für einzelne Funktionen deutschsprachige Tutorials findest, aber mir ist nichts von einer größeren deutschsprachigen Dokumentation bekannt.
Grüße,
Harald
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 11.12.2012, 10:29
Titel:
|
|
|
|
|
Hallo ccrl,
Die meisten Quesllen für Informationen über Computer verwenden Englisch. Um genau zu sein, kenne ich nur dieses Deutsch-sprachige Forum sowie eines in Französoisch und Chinesisch. Ich wurde früher durch Englisch auch eher ausgebremst. Aber es lohnt sich den Umgang mit Englisch zu üben. So sollten z.B. alle Kommentare im Code auf englisch verfasst werden: Wenn eine Funktion unnützlich ist, wird sie sowieso bald gelöscht. Wenn sie aber nützlich ist, wird sie früher oder später zunächst erweitert und dann in einem größeren Programm eingesetzt. Und wenn das Programm dann schließlich für die Doktorarbeit eingesetzt wird und man es mit einem chinesischen, griechischen und spanischen Kollegen bearbeiten will, können deutsche Kommentare sehr schädlich sein. Bevor man sich also durchwursteln muss, schreibt man besser gleich in Englisch.
Ich selbst mache hier im Forum allerdings auch Ausnahmen, weil ich vermute, dass einige Teilnehmer dieses deutsch-sprachige Forum wählen, weil sie gar kein Englisch können. Für die ist Matlab dann aber auch wirklich sehr schwierig, da "help" und "doc" keine Unterstützung mehr anbieten.
Gruß, Jan
|
|
|
ccrl |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 22
|
|
|
|
Anmeldedatum: 01.11.12
|
|
|
|
Wohnort: Braunschweig
|
|
|
|
Version: R2011b
|
|
|
|
|
|
Verfasst am: 11.12.2012, 10:50
Titel:
|
|
Hallo Jan,
danke für deinen Rat. Ich nehme mir jedes mal solche Probleme in englisch anzugehen, weil ich weiß, dass mir das für die Zukunft hilft. Das Problem ist, dass es im ersten moment immer aufwändiger ist, als in deutsch.
Dein Tipp bezüglich der Kommentare war sehr hilfreich, das habe ich im Vorfeld nicht so bedacht. Danke
Gruß Carl
|
|
|
|
|
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 - 2024
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.
|
|