|
|
Matlab macht aus Null Komplexe Zahlen |
|
dresi |

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 02.01.09
|
 |
|
 |
Wohnort: Zürich
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2010, 21:10
Titel: Matlab macht aus Null Komplexe Zahlen
|
 |
|
 |
|
Hallo miteinander,
Mein Skript macht die komischsten Sachen:
Ich lese ein *.mat file ein (im gesamten sind es 10) dass einen Struct mit 500 Einträgen beinhaltet. Nun gehe ich mit zwei for schleifen durch die Daten und erzeuge Vektoren, zum Teil wird noch etwas umgerechnet etc.
Das Ganze lief die Woche durch gut, bis auf heute. Auf einmal macht Matlab aus der Null eine komplexe Zahl der Form 0.0000 + 0.0000i
Der Hammer kam aber als ich versuchte den Verursacher des Phänomens auszmachen und zwar mit der if-Abfrage:
beim zweiten disp() habe ich einen Breakpoint gesetzt. Bei Bild nummer 43 stoppte Matlab brav am Breakpoint, als ich aber den Wert :
über F9 im Command habe ausführen lassen, gibt es mir "0" als ans an und als ich:
eingegeben habe, gab mir die Command line "1", also true zurück!!!
Wie ist so etwas möglich?
Ein Neustart von Matlab und anschliessend des PCs brachten keine Besserung.
Hat jemand eine Lösung, oder irgend eine Ahnung was das sein könnte?
Vielen Dank im Voraus
Gruss,
dresi
|
|
|
|
|
lilov |

Forum-Century
|
 |
Beiträge: 193
|
 |
|
 |
Anmeldedatum: 05.05.10
|
 |
|
 |
Wohnort: Bremerhaven
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 01:50
Titel:
|
 |
Hi,
du hast wahrscheinlich irgendwo eine komplexe Zahl im Vektor. Auch wenn's nur eine komplexe Zahl ist, definiert das matlab als ein komplexes Vektor und ändert die Schreibweise der Nullen auch. das ändert ja aber nichts an deren mathematischen Bedeutung. Matlab zeigt die zwar in einer komplexen Fotm, rechnet aber mit den Zahlen als reale Zahlen.
Gruß,
lilov
|
|
|
dresi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 02.01.09
|
 |
|
 |
Wohnort: Zürich
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 10:00
Titel:
|
 |
Hallo lilov,
Danke für deine Antwort, das erklärt teilweise das komische Verhalten. Was mich aber wirklich stutzig macht ist die Tatsache dass die Abfrage anch einem reellen Wert per Skript eine logische "0" bringt, während der exakt gleiche Eintrag bei wiederholter Eingabe im Command Window eine "1" liefert.
Hmm...
|
|
|
dresi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 19
|
 |
|
 |
Anmeldedatum: 02.01.09
|
 |
|
 |
Wohnort: Zürich
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.11.2010, 11:35
Titel:
|
 |
Ok, ich denke ich hab's gefunden. In einer der Dateien war ganz tief vergraben eine konmplexe Zahl vergraben. Diese hat dann Matlab dazu animiert die ganzen Werte in Komplexen Zahlen darzustellen.
Und meine quick and dirty methode zur überprüfung hat einen kleinen aber relativ mühsamen Typo:
aber die "ungleich eins" sollte eigentlich ausserhalb der Klammer stehen, denk ich:
sonst wir ja nur immer überprüft ob der True/False Vergleich real ist und das ist er garantiert...
War ein langer Tag gestern...
|
|
|
|
|
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.
|
|