WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Optimization-Toolbox: Welche Funktion passt (am besten)?

 

ccrl
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 01.11.12
Wohnort: Braunschweig
Version: R2011b
     Beitrag Verfasst am: 06.12.2012, 17:02     Titel: Optimization-Toolbox: Welche Funktion passt (am besten)?
  Antworten mit Zitat      
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 Sad

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 Mad und Crying or Very sad
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.12.2012, 17:18     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
ccrl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 01.11.12
Wohnort: Braunschweig
Version: R2011b
     Beitrag Verfasst am: 07.12.2012, 09:18     Titel:
  Antworten mit Zitat      
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ß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.12.2012, 09:44     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
ccrl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 01.11.12
Wohnort: Braunschweig
Version: R2011b
     Beitrag Verfasst am: 07.12.2012, 09:52     Titel:
  Antworten mit Zitat      
Alles klar das hört sich vielversprechend an, vielen Dank. Wink

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
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.12.2012, 10:39     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 11.12.2012, 10:29     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
ccrl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 01.11.12
Wohnort: Braunschweig
Version: R2011b
     Beitrag Verfasst am: 11.12.2012, 10:50     Titel:
  Antworten mit Zitat      
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 Wink

Gruß Carl
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.