Как прочитать бинарный файл в Юлии?

9

Я использовал Matlab и теперь пытаюсь преобразовать некоторый код в Джулию.

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

Тем не менее, я понятия не имею, как читать этот двоичный файл одного типа в коде Джулии. Кто-нибудь может помочь, пожалуйста?

Джон
источник

Ответы:

9

read! заполнит массив данными, прочитанными из двоичного файла:

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'означает плавающую точку одинарной точности, которая представлена Float32в Julia. Ваш пример кода MATLAB переведет на этот код Джулии:

data = Array{Float32}(undef, 6000, 3199)
read!("data_6000x3199.bin", data)
Дэвид Варела
источник