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

*.csv-Dateien mit Hex-Zahlen einlesen und decodieren

 

felwiczek

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.09.2016, 15:14     Titel: *.csv-Dateien mit Hex-Zahlen einlesen und decodieren
  Antworten mit Zitat      
Hallo zusammen,

ich bin gerade auf ein Problem gestoßen und habe das Gefühl, dass mir nur ein Parameter fehlt, um es lösen zu können, aber ich komme nicht drauf...

Ich habe eine *csv-Datei, die aus vierstelligen Zahlen besteht, die per Semikolon getrennt sind und möchte sie einlesen. Soweit kein Problem... Jetzt sind die Zahlen aber auf der Basis 16 und nicht 10.

beispiel.csv
Code:
2826;2B08;3002;36F7;


Die Datei versuche ich mittels folgender Kommandos einzulesen:

Read_rawData.m
Code:

pkg load io;

text_data = csv2cell('./ersterStream.txt', ";");

data = zeros(size(text_data)(2));

data2 = hex2dec(text_data(1,2))
data1 = hex2dec(text_data(1,1))
 


Für den Wert data2, der aufgrund der in 2B08 auftretenden Buchstaben als String erkannt wird, funktioniert das auch. data1, das den Wert 2862 einliest, wirft einen Fehler aus. Vermutlich, da es sich dabei um eine Zahl handelt.

Code:

>>Read_rawData
data2 =  11016
error: base2dec: S must be a string or cellstring
error: called from
    base2dec at line 62 column 5
    hex2dec at line 53 column 5
    Read_rawData at line 13 column 7
 


Letzten Endes möchte ich die Werte in einer Matrix haben, um sie plotten oder Filter darauf anwenden zu können. An dieser Stelle fehlt mir eine Möglichkeit, dem csv2cell Befehl zu sagen, dass alle Werte als String behandelt werden sollen, damit ich hex2dec anwenden kann. So etwas habe ich leider nicht gefunden. Gibt es da eine Möglichkeit? Oder einen anderen Weg? Stehe gerade ziemlich auf dem Schlauch.

Viele Grüße,
Felix


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.09.2016, 16:44     Titel: Re: *.csv-Dateien mit Hex-Zahlen einlesen und decodieren
  Antworten mit Zitat      
Hallo felwiczek,

Wäre es nicht einfacher per fscanf direkt Die Hexadezimalen Zahlen zu lesen?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
felwiczek

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.09.2016, 17:09     Titel:
  Antworten mit Zitat      
Hallo Jan,

ja, wäre es wohl... Eben habe ich herausgefunden, wie viel einfacher es ist, alles als String einzulesen und dann zu splitten. Das ist aktuell eine funktionierende Variante, das textread() auch '%s' akzeptiert. Ich habe irgendwie eine totale Blockade gehabt. Überprüfe das morgen und setze das nochmal hier rein.

Vielen Dank und einen schönen Abend,
Felix
 
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 - 2024 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.