Lendo o arquivo binário do MNIST Image Database no MATLAB

Eu tenho um arquivo binário do banco de dados de imagens MNIST, renomeado como "myfile.dat". Isso consiste em um conjunto de 4 números inteiros de 32 bits não assinados, seguidos por uma cadeia de números inteiros de 8 bits não assinados. Eu quero ler este arquivo e armazenar seu conteúdo como uma matriz. Aqui está o meu código:

file_id = fopen('myfile.dat', 'rb');
data = fread(file_id, 'int');
size(data)
class(data)

E a saída é:

ans =

    2502           1


ans =

double

O tamanho de (2502, 1) é o esperado. Mas por que está me dizendo que os dados sãodouble, quando eu especificar que sejaint?

Eu sei quais devem ser os primeiros números e os dados de saída não são os esperados. Eu também tenteiint32, uint euint32 que dão o mesmo problema.

questionAnswers(1)

yourAnswerToTheQuestion