how to read bytes using fread or in a matrix
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am using fread to open'.dat' files. The file has variables with its values displayed in matrix. Every column in assigned a variable and each column is of different length(1st column 4 bytes, 2nd column 2 bytes etc) I have tried opening 1st column but unable to open 2nd column. I would like to know how to all columns.
1 Commento
dpb
il 30 Apr 2016
Need detailed description of file format. Sounds more like ASCII file from the above rather than stream (unformatted) file. And, files are record-oriented, not by column.
Risposte (1)
Walter Roberson
il 30 Apr 2016
collength = [4, 2, ... etc];
fmt = sprintf('%%%ds', collength);
fid = fopen('MyFile.dat', 'r');
datacell = textscan(fid, fmt, 'Delimiter', '', 'Whitespace', '');
fclose(fid);
Now datacell{K} is the K'th column as a cell array of strings.
I did not attempt to convert to numeric because you gave us no information that would suggest the columns are numeric. It might be appropriate to use %%%df or %%%dd
0 Commenti
Vedere anche
Categorie
Scopri di più su Large Files and Big Data in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!