yuk*_*yuk 11
从版本R2011b(版本7.13)开始,有一个新对象matlab.io.MatFile,MATFILE作为构造函数.它允许在MAT文件中加载和保存部分变量.有关详细信息,请参阅文档.这是一个读取矩阵部分的简单示例:
matObj = matfile(filename);
a = matObj.a(100:500, 200:600);
Run Code Online (Sandbox Code Playgroud)
如果您的原始文件不是MAT文件,而是某个文本文件,则可以部分读取它并用于matfile
将这些部分保存到MAT文件中的同一变量中以供以后访问.只记得Writable
在构造函数中将property 设置为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
Run Code Online (Sandbox Code Playgroud)
我现在没有最新版本进行测试,但希望它能够正常运行.
如果它是图像文件,并且您想使用它,请尝试matlab 块处理。通过使用它,您将加载文件的一小部分。您的函数fun
将分别应用于每个块。
B = blockproc(src_filename,[M N],fun)
Run Code Online (Sandbox Code Playgroud)
如果它是一个xml
文件,请尝试XML DOM Node
使用SAX
- 模式(感谢 @Nzbuu 指出这一点),但这似乎是一个未记录的功能。
另外,如果它是任何类型的文本文件(由于数据量而不太可能),请尝试使用外部工具进行拆分。
归档时间: |
|
查看次数: |
9234 次 |
最近记录: |