LabVIEW储存dat文件,Matlab读取
LuoBeiCe 记录自学LabVIEW遇到的各种问题
问题:在LabVIEW中将一个二维数组保存至dat文件,然后在matlab里面读取。
一:LabVIEW保存数组至dat文件
描述:上半部分产生一个10X10的随机二维数组。
“打开文件”函数的输入参数有三个。分别为:1.文件保存路径。2.“creat”:创建新文件,如果文件已存在,则报错。3.“write-only”,只对文件进行写的操作。
"写入二进制文件"函数输入参数有:1.要保存的二维数组。2.文件保存路径。3.错误簇。4.“little-endian"。这个参数最好选择这个,不要使用默认的参数。
”关闭文件“函数。
运行程序,前面板显示如下:
而且对应文件夹里也多了一个”测试5,dat“的文件。
二:接下来使用Matlab读取这个文件。
Matlab的代码如下:
描述:”fopen":打开dat文件。
L,H:是我事先存好的二维数组的大小。
“fread”:读取dat文件里面的数据。注意:前面我提到LabVIEW写入二进制文件其中一个输入参数为“little-endian”,就是因为
Matlab读取二进制文件默认采取的就是“little-endian"模式,这个方面两者一定要配合好,否则可能会有问题。因为二维数
组是double类型,所以这里也要指明。
B = A(2:(L*H+1)):这个地方很重要。Matlab读取的结果会比存的数组多一位(4.12前来解释,这是因为LabVIEW保存二进制文件时
会专门保存数组的大小信息),并排成一列。比如我之前存的为10X10的二维数组。
Matlab读出来就是101X1个,多出来第一位为0。因此我们需要取第二位及后面的。
”reshape“:把读出来的数据重新排序。最终的数组就储存在变量C里面。
运行结果如图:
任务就完成了。