|
|
Endlosrekursion bei lsqnonlin() |
|
2007pietsch |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.01.2011, 18:07
Titel: Endlosrekursion bei lsqnonlin()
|
 |
|
 |
|
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
|
|
|
|
|
|
|
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 - 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.
|
|