Bagaimana cara membaca file biner di Julia?

9

Saya telah menggunakan Matlab dan sekarang mencoba untuk mengubah beberapa kode menjadi Julia.

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

Namun, saya tidak tahu cara membaca file biner tipe tunggal ini dalam kode Julia. Bisakah seseorang membantu ini?

Jon
sumber

Jawaban:

9

read! akan mengisi array dengan data yang dibaca dari file biner:

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'berarti floating point presisi tunggal, yang diwakili dengan Float32di Julia. Contoh kode MATLAB Anda akan menerjemahkan ke kode Julia ini:

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