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

Optimierung: Parameterschätzproblem; genetischer Algorithmu

 

Thilo99
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 14.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.11.2017, 15:24     Titel: Optimierung: Parameterschätzproblem; genetischer Algorithmu
  Antworten mit Zitat      
Hallo zusammen,

ich bin ziemlicher Neuling in Matlab und hätte zunächst mal eine Frage zur grundsätzlichen Vorgehensweise eines Optimierungsproblems.

Kurz zu mir: ich studiere Maschinenbau und arbeite gerade an einem Optimierungsproblem für eine Projektarbeit.

Es geht um die Parameterschätzung /-Identifikation eines Simulationsmodells. Das Modell steht bereits und wird berechnet mittels 6 Eingangsparameter. Diese sind sehr schwer zu ermitteln, daher möchte ich einen genetischen Algorithmus (wird zunächst mal vorausgesetzt) zur Parameteroptimierung nutzen. Diesen habe ich auch bereits programmiert. Ich bin mir nur noch nicht ganz schlüssig, wie ich am besten die Ablaufschleife definieren und das Simulationsmodell integrieren kann um die Parameter zu bestimmen.

Es stehen mir Matlab figures (Messdaten) zur Verfügung. Das Modell spuckt mir eine Kraft pro Zeitschritt aus, welche ich per Fast Fourier Transformation noch auf die richtigen Größen umrechnen will.

Die Zielfunktion des GA wäre demnach am besten das Integral der Differenz zwischen Messwerten und simulierten Werten.
also: min Summendifferenz Messwerte - simulierte Werte mit einem variablen Exponent.

Mich interessiert wie gesagt erst mal der Ablauf.
1. Einlesen der XData; YData der Messwerte
2. InitialGuess: 6 Eingangsparameter
3. Modellsimulation
4. Optimierung nach Zielfunktion, also müsste der Optimierer ja neue Parameter ausgeben und diese wiederum in das Modell einspeißen um neue simulierte Werte zu generieren?

Müsste demnach das Simulationsmodell innerhalb der Zielfunktion des GA aufgerufen werden?

Wie würde das genau funktionieren, mit der Optimierung der Parameter (welche Schrittweite zb?) durch den GA und der Einspeißung wiederum in das Modell.

Ich entschuldige mich schon mal für den wahrscheinlich unnötig kompliziert geschriebenen Text:)

Ich würde mich über jede Art Hilfe sehr freuen!

Beste Grüße
Thilo
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.11.2017, 23:40     Titel:
  Antworten mit Zitat      
Hallo,

ich würde empfehlen, die vorhandenen Optimierer (z.B. ga) zu nutzen. Oft liefern aber andere Solver schneller bessere Ergebnisse, siehe z.B. hier:
https://de.mathworks.com/help/gads/.....osing-another-solver.html

In der Ziel-/Fitnessfunktion berechnest du das Modell für die Parameter und gleichst das mit den tatsächlichen Ergebnissen ab.

Grüße,
Harald
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.