Matlab - Binardaten einlesen

Gast #3252293
Lesenswert?
• ▲
▼
Hallo,
ich bräuchte mal Hilfe, ich steh völlig auf dem Schlauch.
Ich möchte mit Hilfe von Matlab vorzeichenbehaftete Fraktionalzahlen 
(Q1.15) aus einer Datei einlesen. Das ganze sieht ungefähr so aus:

   time    value

   5.0>  = 1100000000000000
  10.0>  = 1110000000000000
  15.0>  = 0001111111111111
  20.0>  = 0001111111111111
  ...

Was mich interessiert ist die Binärzahl in jeder Zeile. So lese ich eine
Zeile aus, suche das Gleichheitszeichen und schneide dann den Teil des 
Strings aus, der die Binärzahl darstellt. Das funktioniert auch bestens.

Jetzt kommt das eigentliche Problem: Wie bereits geschrieben liegen die 
Zahlen im Q1.15  Format vor. Das Datenwort zum Zeitpunkt '5' ist somit 
gleich -0.5, das zweite -0.25 ...


Hat hier jemand eine Idee wie man die Konvertierung in eine Float-Zahl 
clever lösen könnte.

Gibt es in Matlab die Möglichkeit eine 'bit' Variable anzulegen, die man
temporär nutzen könnte ???

Bin über jeden Löungshinweis dankbar!

Vielen Dank und Gruss,
Jonas
Gast #3252871
Lesenswert?
• ▲
▼
Naja. Da das ja nur einmal pro file geschieht, nicht zuviel Zeit 
verstreichen lassen und einfach addieren. Also

u=0;
If string[1]=1 { u+=1 }
If string[2]=1 { u+=0.5 }
If string[3]=1 { u+=0.25 }
If string[4]=1 { u+=0.125 }
If string[5]=1 { ... }

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren