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

Zahlen Darstellungsproblem unter MATLAB

 

uzcyi
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 66
Anmeldedatum: 22.12.15
Wohnort: Nähe Pforzheim
Version: ---
     Beitrag Verfasst am: 23.10.2016, 23:40     Titel: Zahlen Darstellungsproblem unter MATLAB
  Antworten mit Zitat      
Hallo Matlab Community,

Nach dem ich das hier als Code ausgeben lasse in Command Window:
Code:
structname1.unterstruct.unterunterstruct


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:
Code:
structname1.unterstruct.unterunterstruct.A

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:
Code:
structname1.unterstruct.unterunterstruct.yellow

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 Very Happy oder ich weiß es nicht Confused

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
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.10.2016, 10:02     Titel: Re: Zahlen Darstellungsproblem unter MATLAB
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
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.