2012-11-21 4 views
0

Ceci est supposé être très simple mais je ne peux tout simplement pas le faire correctement, probablement parce que je ne comprends pas quelque chose de très basique.matlab lire un fichier binaire

J'essaie de comprendre comment lire un fichier binaire dans matlab qui se compose de 7 variables, chaque variable est écrite en 2 octets (Hi et low). le premier octet est MSB et d'autres LSB. Le fait est que je suis au courant de la fonction fread, mais je ne sais jamais comment l'utiliser quand plusieurs varibales sont impliquées (juste un vecteur de nombres du même type est facile), donc si certains d'entre vous pouvaient juste expliquer en un mot ou deux je serais reconnaissant.

Merci,

Répondre

2

Je suppose que vous devez appeler fread deux fois, en spécifiant le temps par le temps le format que vous utilisez (soit big-endian ou little-endian).

first = fread(fileID, 1, 'int16', 0 , 'b'); %big endian 
last = fread(fileID, 7, 'int16', 0 , 'l'); %little endian 

Vous devez également être spécifique par rapport au type de valeur de la variable stockée. Vous dites que vous avez 2 octets variables, ils peuvent être 'int16', par exemple. Considérez la référence de fread pour les types de valeur possibles avec 2 octets.

+0

Merci Acorbe, la chose est cette information que je n'ai pas alors je dois deviner, en évaluant les résultats. Je vais essayer votre suggestion. – BioSP

+0

[ici] (http://www.mathworks.it/it/help/matlab/ref/fread.html) est la référence. Ma suggestion: essayez de lire la première variable en premier. Les types de variables avec 2 octets ne sont pas beaucoup. – Acorbe

+0

Merci, je vais essayer – BioSP

Questions connexes