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 lsqnonlin arbeitet unzuverlässig

 

ali.k
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 30.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2014, 07:45     Titel: Optimization Toolbox lsqnonlin arbeitet unzuverlässig
  Antworten mit Zitat      
Hi Leute! Habe Sprünge, die normalerweise aussehen wie in Bild 2. Die Rote Mittelwertkurve wird anhand eines Simulink Modells (PT1) und der Optimierungsfunktion lsqnonlin angenähert, was die gestrichelte Kurve ergibt. Aber wenn die Sprungantwort zu kurz ist (<0.5 Sekunden) Spuckt er mir falsche Ergebnisse aus (gestrichelte Kurve Bild 1). Hab schon versucht, die Optimiereroptionen zu ändern, hat nichts gebracht. Bin für Anregungen dankbar.

n.i.O.jpg
 Beschreibung:
Unsauberer Durchlauf

Download
 Dateiname:  n.i.O.jpg
 Dateigröße:  74.2 KB
 Heruntergeladen:  533 mal
i.O.jpg
 Beschreibung:
Sauberer Durchlauf

Download
 Dateiname:  i.O.jpg
 Dateigröße:  74.91 KB
 Heruntergeladen:  646 mal
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: 03.04.2014, 08:19     Titel:
  Antworten mit Zitat      
Hallo,

Algorithmen aus der Optimization Toolbox wie lsqnonlin sind gradientenbasiert und suchen lokale Minima. Sie sind also auf ausreichend gute Startwerte angewiesen.

Für globale Optimierung kann man entweder selbst über mehrere Startwerte iterieren oder Solver aus der Global Optimization Toolbox nutzen, siehe z.B. http://www.mathworks.com/help/gads/.....urvefit-or-lsqnonlin.html

Für weitere Unterstützung müssten wir viel genauer wissen, was du genau machst - am besten anhand eines Codebeispiels inkl. Daten, bei denen du Probleme hast.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ali.k
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 30.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2014, 08:55     Titel:
  Antworten mit Zitat      
Also ich habe ein Signal mit mehreren Sprungantworten. Die Sprünge werden erkannt, "ausgeschnitten" und in einer Matrix gespeichert, welche die Auflösung Anzahl der Sprünge*Sprunglänge hat. Die Sprünge sind alle auf die Länge des kürzesten Sprunges gekürzt. Anschließend wird der Mittelwert aus allen Kurven gebildet.

Dann übergebe ich die Daten an den Optimierer.

1. Der passt Werte für Totzeit und Zeitkonstante an
2. PT1-Modell läuft durch mit den ermittelten werden und die Kurve wird modelliert.
3. Vergleich des Modells mit der Mittelwertkurve (rote Kurve).
4. Ist die Toleranz zwischen den beiden Kurven ausreichend gering, so endet die Berechnung und Totzeit/Zeitkonstante werden ausgegeben. Wenn nicht, fängts wieder bei 1 an.

Die Aufbereitung der Kurven passt alles, habe ich alles händisch überprüft!
Private Nachricht senden Benutzer-Profile anzeigen
 
ali.k
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 30.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2014, 09:09     Titel:
  Antworten mit Zitat      
OK mein Fehler, habe die Optimiereroptionen angepasst und es geht Very Happy

Kann zu.
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.