Find out how many samples in a *.bin or *.dat file exist, before reading it in MATLAB
조회 수: 1 (최근 30일)
이전 댓글 표시
I am trying to figure out how I can tell, in MATLAB, how many samples exist in a given *.bin or *.dat file, before I go ahead and read it.
Obviously, I know the data type, (float, int16, etc) before hand.
I know that I can use something like:
fid = fopen('foo.bin', 'r');
data = fread(fid, inf, 'int16');
fclose(fid);
, and this code will read ALL the samples in, but the problem is that I want to know how big the file is to begin with, so that I can divvy up how to read it it. The files I am dealing with are humungous and I cannot use inf. (Or if I can, it takes forever).
So to summarize, I would like to be able to find a way to be able to tell, through MATLAB, how many samples (of a specified type) I have in my *.bin file, so that I can decide how to divide it up.
Thanks!
댓글 수: 0
채택된 답변
Walter Roberson
2012년 6월 21일
BytesPerSample = 4; %for example
fid = fopen('foo.bin', 'r');
fseek(fid, 0, 'eof');
pos = ftell(fid);
fclose(fid);
NumSamples = pos / ByesPerSample;
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 File Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!