在MatLab中读取二进制文件 在C++中,我用二进制文件编写了我的数据。我的数据是这样的:浮点数据[a][b](这是用C++编写的)。现在,我只想从Matlab中读取这个二进制文件(当然,我在Matlab中是新手),以获得A数组(A=data[A][b])。我在谷歌搜索了许多解决方案,例如: frid = fopen('data.bin', 'rb'); A = fread(fid,count,type) ...
然而,也许因为我是新手,这些解决方案对我不起作用在MatLab中读取二进制文件 在C++中,我用二进制文件编写了我的数据。我的数据是这样的:浮点数据[a][b](这是用C++编写的)。现在,我只想从Matlab中读取这个二进制文件(当然,我在Matlab中是新手),以获得A数组(A=data[A][b])。我在谷歌搜索了许多解决方案,例如: frid = fopen('data.bin', 'rb'); A = fread(fid,count,type) ...,c++,matlab,C++,Matlab,然而,也许因为我是新手,这些解决方案对我不起作用 谁能给我一个阅读这些数据的建议?欢迎回答!谢谢 你在正确的轨道上。查看fread函数的文档(google“matlab fread”)。fread需要文件指针(“frid”)、要读取的项目数和类型。您必须查看数据的二进制类型。所以它看起来像: A = fread(frid, 100, 'real*4'); 其中100是要读取的元素数。数据的扩展是什么?如果在*.txt文件中,则可以通过 数据=文本读取('myfile.txt','%f')
谁能给我一个阅读这些数据的建议?欢迎回答!谢谢 你在正确的轨道上。查看fread函数的文档(google“matlab fread”)。fread需要文件指针(“frid”)、要读取的项目数和类型。您必须查看数据的二进制类型。所以它看起来像:
A = fread(frid, 100, 'real*4');
其中100是要读取的元素数。数据的扩展是什么?如果在*.txt文件中,则可以通过 数据=文本读取('myfile.txt','%f')
转到获取更多帮助…您几乎得到了正确的答案。对于你的情况,你需要
fid = fopen('data.txt','rb');
A = fread(fid,[rows cols],'float');
我假设,虽然您为文件名编写了“data.txt”,但该文件实际上不是文本文件。根据最初编写数据的方式,您可能需要转换
A
以获得所需的布局。这个问题似乎很清楚,数据是“在二进制文件中”。文件扩展名与是否可以使用textread
无关,只有格式决定了这一点。而且textread
对二进制格式没有帮助。