Starting从版本R2011b(ver.7.13)有一个新的对象
matlab.io.MatFile与
MATFILE作为构造函数.它允许在MAT文件中加载和保存变量的部分.有关详细信息,请参阅文档.这是一个简单的例子来阅读矩阵的一部分:
matObj = matfile(filename);
a = matObj.a(100:500, 200:600);
如果您的原始文件不是MAT文件,而是一些文本文件,您可以部分阅读它,并使用matfile将这些部分保存在MAT文件中的同一个变量中以供以后访问.只要记住在构造函数中将Writable属性设置为true.
假设您的文本文件是制表符分隔的,并且只包含数字,这里是一个示例脚本,用于按块读取数据并将其保存到MAT文件中:
blocksize = 100;
startrow = 0;
filename = 'test.mat';
matObj = matfile(filename,'Writable',true);
while true
try
a = dlmread(filename,'\t',startrow,0); %# depends on your file format
startrow = startrow + blocksize;
matObj.a(startrow+(1:blocksize),:) = a;
catch
break
end
end
我现在没有最新版本来测试,但希望它能奏效.