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

Endlosrekursion bei lsqnonlin()

 

2007pietsch

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.01.2011, 18:07     Titel: Endlosrekursion bei lsqnonlin()
  Antworten mit Zitat      
Hallo,
ich verwende die Matlab Minimierungsfunktion lsqnonlin(). Die Funktion wird in meinem Programm für eine recht aufwendige Berechung verwendet, die für jeden weitern Rekursionschritt in der Funktion die numerische Lösung einer Differentialgleicung erfordert.
lsqnonlin() wird innerhalb eines m-Files für verschiedene Startwerte aufgerufen. Meistens klappt das. Bei machen Anfangswerten (die nicht fix sind, sondern vom eingelesenen Datensatz abhängen) hängt lsqnonlin() sich aber leider auf. Das äussert sich nicht in einem Fehler, sondern darin, dass Matlab "Busy" ist und einfach nichts mehr passiert. Es finden in lsqnonlin() nicht unendlich viele Iterationen statt. Die Berechnung hängt offenbar innerhalb eines Rekursionsschritts.
Das Problem, möglicher weise unzulässige anfangswerte auszuprobieren ist in meinem Zusammenhang nicht vermeidbar.
Kann man mit einem Trick ein Zeitlimit setzen, sodass lsqnonlin() nach einer Zeit abbricht und das m-file mit der nächsten Zeile fortfährt. Dabei soll nicht das ganze Programm abgebrochen werden.
tic toc und ähnliche Ansätze gehen nicht, da z.B. das toc Statement nie errreicht wird, welches die Bedingung für einen Abbruch darstellen könnte.
Man bräuchte etwas wie try - catch mit Zeitfunktion. Z.B. Try for 10sec. No solution->execute body of catch statement.
Wäre euch sehr dankbar für Vorschläge zur Behebung.
Grüsse,
2007pietsch


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 - 2025 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.