查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 从Matlab中的巨大文件中获取数据块

有一个巨大的文件mask.txt,其中包含以列格式(大约200万个数字的单列)排列的浮点数,我想以512 * 512的块的形式提取数据。如何获取下一个数据块。我已完成以下操作,但这是错误的。

rawData=dlmread('mask.txt'); a1=reshape(rawData(1:262144),512,512); a2=reshape(rawData(262145:524289),512,512); 该怎么办?请解决问题。感谢您



回答:

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

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

更多&回答...
poster 当前离线   回复时引用此帖