首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入带有头信息的二进制LabVIEW文件到MATLAB?

问导入带有头信息的二进制LabVIEW文件到MATLAB?
EN

Stack Overflow用户
提问于 2014-01-23 20:40:41
回答 2查看 2.3K关注 0票数 2

我有大量的.bin文件(10GB60GB),我想要导入到MATLAB;每个二进制文件表示两个传感器的输出,因此数据列太多了。这是一个更易于管理的数据示例。

您会注意到有一个.txt版本的数据;我需要将.bin文件直接上传到MATLAB,我不能使用.txt版本,因为与更大的文件进行转换需要几个小时。

我遇到的问题是,.bin文件的头信息似乎无法正确解释,因此,每次尝试时,我都无法提取MATLAB中的数据,因为我似乎得到了一些乱七八糟的值。

以下是有关二进制标题的所有信息:

任何帮助/建议都将不胜感激,我已经试图解决这个问题好几天了。

有人已经编写了一个函数来解决这个问题,但是它似乎不适用于我的二进制数据(可能与我的数据的尺寸/大小有关):http://www.mathworks.co.uk/matlabcentral/fileexchange/27195-load-labview-binary-data

下面是我用来导入数据的代码,我相信d1和d2是二进制数据的维度。对于dropbox中的示例文件,D2可能是不正确的,因为它已经被截断。我遇到的问题是,代码提取了我的数据,并且我知道它是正确的,因为我可以用.txt文件(也在拖放框中)检查它,但是在好的数据点之间有一些随机的坏值。这些坏值来自以下字符串:"NI_ChannelName“、"Sensor”、"Sensor“、"NI_UnitDescription”和"Volts“,它们散落在二进制文件中。

代码语言:javascript
复制
clear all
clc
fname = 'RTL5_57.bin';
fid = fopen(fname,'r','ieee-be');
d1 = fread(fid,4);
trash=fread(fid,2,'double');
d2 = fread(fid,4);
trash=fread(fid,1,'double');
data=fread(fid,'double');
EN

回答 2

Stack Overflow用户

发布于 2014-01-24 23:32:02

我想你需要改变数据格式。见Matlab帮助。

票数 0
EN

Stack Overflow用户

发布于 2015-08-06 20:03:28

https://decibel.ni.com/content/docs/DOC-39038

范围:

1)用matlab编写二进制文件,读入labview。2)用labview编写二进制文件,并读入matlab。

背景:

重要信息:

在读取数据之前,必须了解(3)文件中的二进制数据:

1)使用什么二进制格式(精度)来存储数据

2)要读取的文件中的确切值数。

3)二进制文件中没有行或列。想象一下需要映射到2D数组的长行/或长列。

二进制格式的数据资源。

http://cse.unl.edu/~sincovec/Matlab/Lesson%2024/Binary/CS211%20Lesson%2024%20-%20Binary%20File%20Input-Output.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21318855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档