|
blueplasma |

Forum-Newbie
|
 |
Beiträge: 1
|
 |
|
 |
Anmeldedatum: 02.07.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.07.2015, 10:17
Titel: Variable wird komplex???
|
 |
Hallo,
ich versuche mit ode15s ein DGL-System zu lösen. Die Variablen sind "Umsatz" und "Temperatur".
Ich habe ein Startskript, in dem ich den Solver aufrufe.
Mein Problem ist folgendes: Ich kann das Skript starten, aber die Rechnung bricht plötzlich ab, weil der Wert für die Temperatur komplex wird (5.729999999996063e+02 + 5.296393341179237e-10i). Ich hab schon versucht mir mit der real-Funktion zu helfen, aber das ist ja nicht das gelbe vom Ei...
Kann mir jemand einen Tipp geben, warum das passiert. Ist das erste mal, dass ich sowas erlebe???
Mit Dank und Gruß
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.07.2015, 10:26
Titel:
|
 |
Hallo,
wird in der Funktion z.B. sqrt verwendet, und der Ausdruck darunter wird negativ?
Oder werden asin oder acos verwendet, und der Ausdruck darin betragsmäßig > 1?
Es ist schwer zu sagen, ohne das konkrete Beispiel vor sich zu haben. Ich würde es mal mit einem bedingten Haltepunkt (Im Editor Rechtsklick auf den schwarzen Strich vor der Codezeile) versuchen und dort ~isreal verwenden.
Für weitere Unterstützung bitte reproduzierbaren Code zur Verfügung stellen.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 02.07.2015, 10:33
Titel: Re: Variable wird komplex???
|
 |
Hallo blueplasma,
Das ist ein fall für den Debugger. Füge in der zu integrierenden Funktion etwas ein wie:
Jetzt setze einen Breakpoint in die Zeile mit dem
disp
und lasse das Programm nochmal laufen. Sowie imaginäre Werte auftreten, kannst Du nun die lokalen Variablen untersuchen, z.B. indem Du die Ausdrücke auf den rechten Seiten per Copy&Paste im Command Window ausführst.
Das ist eine banalere Methode als der von Harald empfohlene bedingte Breakpoint. Es kommt nicht darauf an, welche Methode Du verwendest, Hauptsache ist der einsatz des Debuggers.
Ohne Deinen Code zu sehen, können wir natürlich nicht sagen, wo diese Werte herkommen. Es ist kaum anzunehmen, dass das ein Bug ist, sondern es stammt aus Deinem Code.
Gruß, Jan
|
|
|
|
|
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.
|
|