fwrite a matrix by chunks at a time
Afficher commentaires plus anciens
hi I am doing some fancier file writing and need to write in a file a matrix, say A=[1:10000]and save it by chunks of 512 datapoints in int16 format. I also need to skip 20bytes in between I am trying fwrite(fid,A,'512*int16',20) but I keep getting a bunch of zeros. ultimately I will use, to read it, a command like fread(fid,512*N,'512*int16=>int16',20); Am I in the correct direction? there is a very small help file for fread.
Réponses (1)
Jan
le 25 Août 2011
After some tests I have the impression that:
fwrite(fid, A, '512*int16', 20)
inserts the 20 bytes for skipping before the blocks, while:
fread(fid, 512*N, '512*int16=>int16', 20)
skips the 20 bytes behind the block. Where do you want the skipping bytes? If before the data blocks is wanted, modify the reading like this:
fread(fid, 20, 'int8'); % Skip manually at first
fread(fid, 512*N, '512*int16=>int16', 20)
Catégories
En savoir plus sur Map Display dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!