フィルターのクリア

can anybody help in understanding fopen and fread?

20 ビュー (過去 30 日間)
subha
subha 2014 年 6 月 20 日
コメント済み: subha 2014 年 6 月 30 日
As per my understanding, fopen open the file in a mode which we want. For example, if we say r,then it opens in read mode. fread, read the open file and returns the no of elements.
Based on above line, i tried below code.
f= fopen('train-images-idx3-ubyte', 'r')
Ans:
f =
56
Here what 56 represents? I understand it is file identifier. How it is generated?
[a, count]= fread(f,4,'int 32')
a =
1.0e+09 *
0.0509
1.6259
0.4698
0.4698
count =
4
Could anybody help me to understand the above result.

採用された回答

Image Analyst
Image Analyst 2014 年 6 月 20 日
f is some identification number of the file. Don't worry about what it's actual value is or how it's generated - it doesn't matter (as long as it's not -1 which indicates an error). It's simply used to tell fread() or fprintf() what file to talk to.
The fread line read four 4-byte integers from the binary file. You store them into variable "a". It should be 'int32' rather than 'int 32' though.
  11 件のコメント
Image Analyst
Image Analyst 2014 年 6 月 30 日
Did you try Google? Lots of readers for it there: https://www.google.com/?gws_rd=ssl#newwindow=1&q=mnist+matlab+code&safe=off
subha
subha 2014 年 6 月 30 日
Thanks a lot. it really helps me..

サインインしてコメントする。

その他の回答 (1 件)

Marta Salas
Marta Salas 2014 年 6 月 20 日
The file identifier is a integer greater than 3. Identifier -1 means fopen can not open the file, and MATLAB reserves file identifiers 0, 1, and 2 for standard input, standard output (the screen), and standard error, respectively.
[a, count]= fread(f,4,'int 32')
This line is reading 4 values in the file f such that the source data is class uint32. Then the 4 values are stored in a and the number of values read from the file is stored in count

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by