|
|
Zahlen Darstellungsproblem unter MATLAB |
|
uzcyi |

Forum-Fortgeschrittener
|
 |
Beiträge: 66
|
 |
|
 |
Anmeldedatum: 22.12.15
|
 |
|
 |
Wohnort: Nähe Pforzheim
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.10.2016, 23:40
Titel: Zahlen Darstellungsproblem unter MATLAB
|
 |
|
 |
|
Hallo Matlab Community,
Nach dem ich das hier als Code ausgeben lasse in Command Window:
erscheint das hier im Bildschirm:[1]
red: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
yellow: [1x32 double]
green: [156 0 155 0 0 0 0 156 0 155 156 0 0 156 0 0 121 0 155 0 0 155 155 47 0 0 35 98 0 0 69 155]
Gesamt: [98 468 80 0 468 468 468 38 468 17 38 468 468 104 468 468 13 468 64 468 468 61 52 49 468 468 7 21 468 468 30 39]
A: [1x32 double]
warum wird yellow und A nicht vollständig angezeigt ?
hier wenn ich A aufrufe erhalte ich
EINGABE:
AUSGABE:
ans =
Columns 1 through 21
467 467 467 0 467 467 467 467 467 467 467 467 467 467 467 467 366 467 467 467 467
Columns 22 through 32
467 467 141 467 467 108 269 467 467 209 467
EINGABE:
AUSGABE:
ans =
Columns 1 through 21
311 467 312 0 467 467 467 311 467 312 311 467 467 311 467 467 245 467 312 467 467
Columns 22 through 32
312 312 94 467 467 73 171 467 467 140 312
A und yellow genau so lang wie Gesamt,red und green ??
[2]Oder noch ein anderer Beispiel:
Wie kann ich diese Zahlendarstellung wählen :143009.99999146188
anstatt diese wie MATLAB es mir zeigt: 1.430099999146188e+05.[**]
... habs mit den verschiedenen format formen versucht klappt nicht oder ich weiß es nicht
Muss immer bei solchen Zahlendarstellung kurz überlegen ob die Zahl [**] da passt oder nicht passt.
Ich freue mich auf einen ausführlichen Lösungsvorschlag wie man solche Zahlendarstellung wie in [1] und [2] vermeidet.
Gruß uzcyi
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 24.10.2016, 10:02
Titel: Re: Zahlen Darstellungsproblem unter MATLAB
|
 |
|
 |
|
Hallo uzcyi,
Zitat: |
yellow: [1x32 double]
warum wird yellow und A nicht vollständig angezeigt ? |
Bei der automatischen Ausgabe von Variablen im CommandWindow wird implizit der Befehl
display
aufgerufen. Und der ist so geschrieben, dass er Variablen ab einer bestimmten Länge nicht als Inhalte, sondern als Typ+Dimension anzeigt. Das sorgt dafür, dass man auch Structs übersichtlich anzeigen kann, die eine [1e6 x 1e5] Matrix enthalten. Andernfalls würde man ganz schön lange suchen müssen, bis man die anderen Feld-Inhalte findet.
Genauso ist es bei der Ausgabe eines einzelnen Vektors, wo zur Übersichtlichkeit ein "Columns x through y" eingefügt wird.
Wenn Du ein bestimmtes anderen Format wünschst, kannst Du das per
fprintf
hinbekommen. Hier hast Du dann die freie Auswahl, wie was dargestellt werden soll. Auch 143009.99999146188 ist damit mit dem '%a.bf' Specifier machbar. Das wird aber immer dazu führen, dass andere Zahlen in verwirrender Form angezeigt werden, z.B. 12345678901234567.1 : Diese Zahl hat mehr Stellen als in einem DOUBLE gespeichert werden kann und die Angabe der Stellen vor dem Komma wird immer in die Irre führen.
Deswegen sind die
format long g
und
format long e
so in Matlab implementiert, weil sie aus wissenschaftlicher Sicht tatsächlich die klarsten und übersichtlichsten sind.
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.
|
|