MATLAB fread produce error! Invalid Size!
8 次查看(过去 30 天)
显示 更早的评论
I just run the following simple code to write a binary file and then read it in MATLAB.
It produces: Error using fread! Invalid Size!!
Any idea?!
% write a binary file
clear
clc
m=uint16(randi([0 5000],100,150, 50));
f=fopen('xtest','w');
fwrite(f,m,'uint16','ieee-le');
fclose(f);
% read the same binary file!
clear
clc
x0=fopen('xtest');
pj=fread(x0,[100, 150, 50],'uint16','ieee-le');%
fclose(x0);
0 个评论
采纳的回答
Geoff Hayes
2019-3-13
Amir - according to fread dimensions of output vector, this vector/array can only be a two-element row vector wheras you are trying to read a three dimensional array. You probably need to read in the data as
pj=fread(x0,[100, 150*50],'uint16','ieee-le');%
pj = reshape(pj, [100 150 50]);
I tried this for a smaller three dimensional array and it seemed to work fine.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Large Files and Big Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!