จะอ่านไฟล์ไบนารีใน Julia ได้อย่างไร?


9

ฉันใช้ Matlab และตอนนี้พยายามแปลงรหัสบางส่วนเป็น Julia

% 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ในจูเลีย ตัวอย่างรหัส MATLAB ของคุณจะแปลเป็นรหัส Julia นี้:

data = Array{Float32}(undef, 6000, 3199)
read!("data_6000x3199.bin", data)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.