Matlab 中fread的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab 中fread的问题相关的知识,希望对你有一定的参考价值。

f_id=fopen('.\file.txt');
[msg,len_total]=fread(f_id,'ubit1');%按1bit读取文件

我在文件file中写了数据10,
读出的msg数据是
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0 这是怎么读的?

不知道你的目的是什么,fread是用来读取二进制文件的,但是你的txt文件应该是ascii格式的。你指定了读取的精度是一个bit,所以他读出来的就是2个字符的16个bit加头尾8个。
如果你只是想把你写的10读出来,应该用fscanf
a=fscanf(f_id,'%2d',[1 1]);
参考技术A 原因是那个文件已经不存在了,fopen函数返回的FID为非法值-1,所以导致fread出错。
请你检查下是否把文件误删了或者改名了

以上是关于Matlab 中fread的问题的主要内容,如果未能解决你的问题,请参考以下文章

什么是 Python 中 Matlab 中的“fread”等价物?

matlab fread命令,急!

将二进制文件读取(fread)代码从 MATLAB 转换为 C#

请问matlab中的fread(fid,19,'int');和c语言中的fread(fid,sizeof(int),19,ch)有啥区别啊

Matlab中fread()读出的数据怎么和原来不一致了?

matlab用fread读音频文件