|
|
Cellwerte zu UINT32 konvertieren |
|
P.stone |

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 28.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.06.2013, 10:42
Titel: Cellwerte zu UINT32 konvertieren
|
 |
Hallo zusammen,
ich bin absoluter Matlab neuling und muss die Auswertung einer Excel Datei machen.
Nun habe ich Probleme beim Einlesen der Datei. Da die Werte in den spalten A und B mehr als 9 Zeichen haben werden Sie als ^*e+9 angezeigt.
Meine Idee war nun die Spalten in UINT32 zu konvertieren, damit die Zahlen richtig angezeigt werden. Habe nun schon lange rumprobiert, er zeigt mir aber maximal an, dass ich eine Zelle nicht in uint32 konvertieren kann.
Die Datei habe ich gekürzt angehängt.
Gute Tipps, wie ich die Datei nach bestimmten WErten durchsuchen kann sind natürlich auch sehr wilkommen.
Vielen Dank für die Hilfe!
Hier meine Funktion zum Einlesen der Datei:
Beschreibung: |
|
 Download |
Dateiname: |
Export_y.xls |
Dateigröße: |
36 KB |
Heruntergeladen: |
921 mal |
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 28.06.2013, 11:36
Titel: Re: Cellwerte zu UINT32 konvertieren
|
 |
Hallo P.stone,
Was bedeutet "werden Sie als ^*e+9 angezeigt" genau?
Zunächst mal duzen wir uns im Forum, angezeigt wird hier auch niemand und das Emoticon ^*e+9 kenne ich nicht ;-)
Aber im ernst, wenn die Werte so im Command-Window angezeigt werden, liegt das nur an der Darstellung imm Command-Window. Intern werden die Zahlen exakt gespeichert. Wenn man dies im Command Window eintippt, ändert sich die Darstellung:
Um Zu wissen, wieso in Deinem Code ein CELL nicht konvertiert werden kann, müssten wir den entsprechenden Code sehen. Dann wäre ien Verbesserungsvorschlag ganz einfach.
Um die Werte zu durchsuchen, würde ich sie zunächst in eine Matrix umwandeln (welchen Typ und Dimension hat "data"?) und dann FIND verwenden.
Gruß, Jan
|
|
|
P.stone |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 28.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.06.2013, 12:03
Titel:
|
 |
Vielen Dank.
Habe gesehen, dass es im Command Window richtig angezeigt wird. Nur wenn ich im Workspace ,,ans" anklicke kommt als Messwert_ID der Wert 3.1974e+9.
Das ist dann aber für die weitere Auswertung wahrscheinlich egal oder?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 28.06.2013, 16:45
Titel:
|
 |
Hallo P.stone,
Ja, dies ist nur die Anzeige. Matlab versucht schlau zu sein und nicht alle 16 gültigen Ziffern anzuzeigen, weil das sowieso kein Mensch lesen kann.
Gruß, Jan
|
|
|
P.stone |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 10
|
 |
|
 |
Anmeldedatum: 28.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2013, 14:00
Titel:
|
 |
Wie kann ich das ganze in eine Matrix umwandeln? Habe es mit cell2mat probiert, jedoch bekomme ich folgende Fehlermeldung:
A = cell2mat (ans);
??? Error using ==> cell2mat at 47
All contents of the input cell array must be of the same data type.
Gibt es hier alternative Befehle ide mit der kompletten Tabelle umgehen können?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 02.07.2013, 09:53
Titel:
|
 |
Hallo P.stone,
"ans" zu benutzen ist immer eine schlechte Idee. Je nach dem wo Du genau den Befehl schreibst, bekommst Du natürlich andere Werte dafür. Und wir können deshalb den Inhalt von Deinem "ans" nicht kennen.
Ich lese Excel-Files normalerweise mit XLSREAD ein. Dann können die unterschiedlichen Typen in in den 3 Outputs gefunden werden.
Zitat: |
??? Error using ==> cell2mat at 47
All contents of the input cell array must be of the same data type. |
Die bedeutet, dass das CELL-Array Elemente unterschiedlichen Typs beinhaltet. Das sind wohl Doubles und Strings, rate ich mal. Du selbst kannst das aber herausfinden. Mit CELLFUN('isclass', ...) und SSCANF könntest Du die Strings in Zahlen umwandeln.
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.
|
|