Forum: PC-Programmierung Matlab - Binardaten einlesen


von Jonas (Gast)


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

von Jeeehoo Juppieyeei (Gast)


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 { ... }

von Jonas (Gast)


Lesenswert?

Vielen Dank für die Rückmeldung, hab das baby gestern Abend noch zum 
Laufen bekommen!
Gruss,
Jonas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.