¿Cómo leer un archivo binario en Julia?

9

He usado Matlab y ahora trato de convertir algo de código a Julia.

% Load data in Matlab
fileID = fopen('./data_6000x3199.bin');
Data = fread(fileID,[6000,3199],'single');
fclose(fildID);

Sin embargo, no tengo idea de cómo leer este archivo binario de tipo único en el código de Julia. ¿Alguien puede ayudar esto, por favor?

Jon
fuente

Respuestas:

9

read! llenará una matriz con datos leídos de un archivo binario:

julia> x # original array
2×2 Array{Float32,2}:
 1.0  3.0
 2.0  4.0

julia> write("test.bin", x) # write to binary file
16

julia> y = Array{Float32}(undef, 2, 2); # create a container for reading data

julia> read!("test.bin", y) # read data
2×2 Array{Float32,2}:
 1.0  3.0
 2.0  4.0

'single'significa punto flotante de precisión simple, que se representa con Float32en Julia. Su código MATLAB de ejemplo se traducirá a este código Julia:

data = Array{Float32}(undef, 6000, 3199)
read!("data_6000x3199.bin", data)
David Varela
fuente