|
|
Optimierung eines Simulink Modells |
|
synthgamer |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 28.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.08.2013, 11:28
Titel: Optimierung eines Simulink Modells
|
|
Hallo,
Ich habe die Aufgabe das simulink modell eines roboters zu optimieren und da ich ein blutiger anfänger mit matlab/simulink bin versuche ich grade mich etwas einzuarbeiten und einfach mal ein simples optimierungsskript zu schreiben (egal ob es sinnvoll ist, hauptsache es läuft erstmal)
für die optimierung schreibe ich eine kostenfunktion, die den zu optimierenden parameter erhält und mit diesem dann das modell simuliert - ausgabe ist dann der wert (in meinem fall die geschwindigkeit) die maximal werden soll.
mein erstes problem ist schonmal dass ich es nicht hinbekomme in der funktion den parameter für das modell festzulegen. wenn ich zum beispiel einfach schreibe f = 3, dann übernimmt das modell das nicht.
kann mir jemand helfen?
gruß,
synth
|
|
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 28.08.2013, 11:43
Titel:
|
|
deine beschreibung ist sehr wage..
Zitat: |
. wenn ich zum beispiel einfach schreibe f = 3, dann übernimmt das modell das nicht. |
enhällt so gut wie keine hilfreiche information
bitte lies den thread richtig fragen aus meiner signatur. codebeispiele fehlermeldungen etc sind immer besser als "persönliche" umschreibung des problems.
grüße winkow
_________________
richtig Fragen
|
|
|
synthgamer |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 28.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.08.2013, 10:22
Titel:
|
|
okay, sry ich versuche es. also meine funktion sieht ungefähr so aus:
ich möchte also eine funktion haben, die das modell simuliert und zwar mit den standardwerten (in Init_model festgelegt) aber jedesmal mit einem anderen wert für f. ausgabe ist dann die höchstgeschwindigkeit, die ich ja später optimieren möchte.
Eine fehlermeldung bekomme ich so nicht, nur wird die zeile f = x gelb unterstrichelt mit dem hinweis dass diese zuweisung nie benutzt wird. ich gehe also davon aus, dass er denkt ich wollte da eine lokale variable anlegen. das deckt sich auch damit, dass im workspace rechts in diesem variablenfenster wo alle variablen mit werten stehen, nie der wert ist, mit dem ich die funktion aufgerufen habe.
ist das einigermaßen verständlich?
ich bin halt nunmal absoluter anfänger in Matlab, daher entschuldige ich mich wirklich für alle unklarheiten
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.08.2013, 10:27
Titel:
|
|
Hallo,
Simulink holt sich beim Simulieren eines Modells die Variablen standardmäßig aus dem Base Workspace. Du willst aber, dass es die Variablen aus dem momentanen Workspace holt. Also:
Grüße,
Harald
|
|
|
synthgamer |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 28.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.08.2013, 14:01
Titel:
|
|
Hallo Harald,
Das hat allem anschein nach funktioniert. allerdings bekomme ich jetzt folgende fehlermeldung:
der teil hatte vorher funktioniert, aber offenbar findet er jetzt 'speed' nicht mehr, weil es vom modell in einen anderen workspace geschrieben wird?? oder sowas. was kann ich da tun?
Gruß,
synth
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.08.2013, 14:59
Titel:
|
|
Hallo,
2 Möglichkeiten:
a) 'DstWorkspace' über simset anpassen (wird aber in späteren Versionen evtl. nicht mehr gehen)
b)
und dann mit simout arbeiten.
Grüße,
Harald
|
|
|
synthgamer |
Themenstarter
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 28.08.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.09.2013, 11:06
Titel:
|
|
Hallo,
Danke ernet für den Tipp. Allerdings muss ich nochmal nachfragen da ich wie gesagt noch blutiger anfänger bin.
Mein Modell hat ja viele ausgaben, in welchem format stecken die dann alle in simout?
ich bin ja jetzt erstmal nur an der geschwindigkeit (speed) interessiert. was genau muss ich dann machen um auf die zuzugreifen?
Gruß,
Synth
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.09.2013, 18:10
Titel:
|
|
Hallo,
in welcher Form gibst du Speed zurück? Out-Port? To Workspace?
Setz doch mal einen Haltepunkt und schau dir simOut im Workspace an, dann siehst du ja, was simOut ist.
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 - 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.
|
|