|
|
Optimierung in Simulink möglich? |
|
Hiwi-Job |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.09.11
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 13.02.2012, 17:59
Titel:
|
|
Hallo Harald,
vielen Dank für deine Erläuterungen.
Ich habe letzte Nacht den GA mal durchlaufen lassen. Aber erstens dauert der mir viel zu lange und zweitens fand er ein schlechteres Ergebnis als die anderen Varianten.
Ich bin jetzt gerade dabei meine selbstgeschriebene Variante mit patternsearch zu vergleichen, da diese beiden bisher die besten Ergebnisse liefern konnten.
Ich scheitere gerade an einem sehr simplen Problem, dessen Lösung mir aber absolut nicht mehr einfallen will:
Ich lasse meine eigene Variante eine grobe Abschätzung treffen und möchte diese als Eingangs-/Startwerte für patternsearch nutzen.
Mein m-File (und jetzt bitte nicht lachen) sieht (verkürzt) so aus:
Dabei unterschlängelt er mir das function unten und meint:
Grüße,
Ingo
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 13.02.2012, 19:11
Titel:
|
|
Hallo,
du versuchst hier, eine Unterfunktion zu erstellen. Dazu muss das übergeordnete jedoch selbst eine Funktion sein, also mit function beginnen. Im einfachsten Falle:
Bei GA wäre entscheidend, dass du eine HybridFcn verwendest.
Der aussichtsreichste (und mit wenig Programmieraufwand machbare) Ansatz wäre für mich an der Stelle eine Kombination deines händischen Ansatzes mit fmincon.
Grüße,
Harald
|
|
|
Hiwi-Job |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.09.11
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 14.02.2012, 10:11
Titel:
|
|
Hallo Harald,
Baum und Wald, man kennt das ja
Danke für den Hinweis!!!
Und ebenfalls Danke für den Hinweis mit der Kombination eigene Funktion - fmincon. Werde ich ebenfalls in meinen Vergleich mit einbeziehen und mich dann für eine Variante entscheiden.
Grüße,
Ingo
|
|
|
Hiwi-Job |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.09.11
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 14.02.2012, 11:40
Titel:
|
|
Hallo Harald,
nochmal zu fmincon: Wie erreiche ich, dass er sich den Bereich um die geratenen Werte in größeren Grenzen anschaut als die standardmäßig vorgegebenen?
Für mein Problem ändert sich nämlich nur dann das Ergebnis, wenn sich die Eingangswerte mindestens um 0.01 ändern.
Grüße,
Ingo
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 14.02.2012, 19:59
Titel:
|
|
Hallo,
dann ist fmincon weniger geeignet. Es ist ja ein ableitungsbasierter Algorithmus, was in deinem Fall dann wohl keinen Sinn macht.
Da könnte man vielleicht noch fminsearch versuchen, oder eben patternsearch.
Grüße,
Harald
|
|
|
Hiwi-Job |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.09.11
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 16.02.2012, 11:11
Titel:
|
|
Hallo Harald,
wie bekomme ich die Daten/Ergebnisse aus einer der Varianten dann denn in ein Cell-Array?
Bekomme leider folgenden Fehler:
Grüße,
Ingo
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.02.2012, 19:04
Titel:
|
|
Hallo,
z.B. so:
Ich würde aber eher die f-Werte in einem Vektor sammeln, und die x-Werte in einer Matrix.
Grüße,
Harald
|
|
|
Hiwi-Job |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.09.11
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 16.02.2012, 20:43
Titel:
|
|
Hallo Harald,
die Möglichkeit hatte ich auch schon ausprobiert. Leider ohne Erfolg. Der Fehler ist der gleiche.
Grüße,
Ingo
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.02.2012, 21:22
Titel:
|
|
Hallo,
dass der Fehler der gleiche ist, wage ich zu bezweifeln, aber seis drum.
Warum nimmst du nicht die von mir genannte einfachere Möglichkeit?
Grüße,
Harald
|
|
|
Hiwi-Job |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.09.11
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 16.02.2012, 21:43
Titel:
|
|
Hallo Harald,
hast natürlich Recht
Hatte mich verguckt, der Fehler lautet:
Ich möchte ein Cell-Array verwenden, damit ich die Werte auch gemeinsam auswerten kann. Am besten wäre es wenn ich ein Cell-Array oder eine Matrix mit den Spalten f, x1, x2 erhalten könnte.
Vllt. kann man die Matrix/Cell-Array ja auch aus einem Vektor und einer Matrix zusammenbauen.
Wie kann ich Werte, die in einer Funktion "entstehen" in den Workspace ablegen?
Grüße,
Ingo
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.02.2012, 21:54
Titel:
|
|
Hallo,
warum kannst du das nicht, wenn du eine Variable für x und eine für f hast? Wenn du willst, kannst du die ja am Ende auch zusammenfügen.
Zitat: |
Wie kann ich Werte, die in einer Funktion "entstehen" in den Workspace ablegen? |
Wenn ich nun wüsste, was du mit "entstehen" meinst? Was du damit bezweckst?
Grüße,
Harald
|
|
|
Hiwi-Job |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.09.11
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 16.02.2012, 22:08
Titel:
|
|
Hallo!
Wenn ich in der Funktion stehen habe:
dann habe ich zwar einen Vektor und eine Matrix, aber ja nur innerhalb der Funktion. Wenn die Funktion abgearbeitet ist, ist der Workspace (wieder) leer und ich kann nicht mit Wert_a und Wert_b weiterarbeiten.
Grüße,
Ingo
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.02.2012, 22:22
Titel:
|
|
Dann gib sie doch als Rückgabeargumente zurück?
|
|
|
Hiwi-Job |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 71
|
|
|
|
Anmeldedatum: 28.09.11
|
|
|
|
Wohnort: Hannover
|
|
|
|
Version: 2013a
|
|
|
|
|
|
Verfasst am: 16.02.2012, 22:37
Titel:
|
|
Danke!
|
|
|
|
Gehe zu Seite Zurück 1, 2, 3
|
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.
|
|