从Matlab中的大文件中获取数据块

时间:2011-03-11 10:27:27

标签: matlab file-io matrix

有一个巨大的文件mask.txt包含以列格式排列的浮点数(大约200万个数字的单列)我想以512 * 512的块提取数据。如何获取下一个数据块。我做了以下但是错了。

rawData=dlmread('mask.txt');
a1=reshape(rawData(1:262144),512,512);


a2=reshape(rawData(262145:524289),512,512);

怎么办?请解决问题。谢谢你

1 个答案:

答案 0 :(得分:2)

你的方法是正确的,只是你的数字是错的。你做了不计算第一个数字的经典错误。矢量应该来自[n:n + 512 ^ 2-1],而不是[n:n + 512 ^ 2]。所以要解决它,只需做

a2=reshape(rawData(262145:524288),512,512);