From: Jeremy Smith on
This post explains the Labview binary data format. I couldn't find all of this information in any one place so this ought to help anyone in the future.

The Labview VI "Write to Binary File" writes data to a file in a linear format using Big Endian numbers of the type wired into the "Write to Binary File" VI. The array dimensions are listed before the actual array data.

fid = fopen('BinaryData.bin','r','ieee-be'); % Open the binary file
Dim1 = fread(fid,4); % Reads the first dimension
Dim2 = fread(fid,4); % Reads the second dimension
Dim3 = ...

Each dimension's length is specified by 4 bytes. Each increment of the first, second, third, and fourth byte represent 2^32, 2^16, 2^8, and 1 respectively. 0 0 2 38 equates to 2*256 + 38 = 550 values for that particular dimension.

As long as you know the number of dimensions and precision of your binary data you can load it.

Data = fread(fid,prod([Dim1 Dim2 Dim3]),'double',0,'ieee-be'); % Load double precision data

If you have appended multiple arrays to the same file in Labview you would repeat this procedure. Load each dimension then load the data, repeat.

Data = fread(fid,prod([Dim1 Dim2 Dim3]),'int8',0,'ieee-be'); % Load int8 precision data or boolean data

I created a function and uploaded it to the File Exchange so feel free to use it if it'll help. The function is called labviewload.m.