这里有人知道如何从matlab文件中
删除变量吗?我知道您可以使用save -append方法将变量添加到现有的matlab文件中,但是没有有关如何从文件中删除变量的文档。
在有人说“只保存它”之前,这是因为我正在将中间处理步骤保存到磁盘上以减轻内存问题,最后每个分析例程将有近10 GB的中间数据。谢谢!
回答:
有趣的是,您可以将-append选项与
SAVE一起使用,以
有效地删除.mat文件中的数据。请注意该文档摘录(由我加粗):
对于MAT文件, -append将新变量添加到文件中,或将已保存的现有变量值替换为工作区中的值 。
换句话说,如果.mat文件中的变量称为A ,则可以使用-append选项使用
新的A副本(已将其设置为[] )保存该变量。 .mat文件中仍然存在一个名为A的变量,但该变量将为空,从而减小了文件的总大小。
这是一个例子:
>> A = rand(1000); %# Create a 1000-by-1000 matrix of random values >> save('savetest.mat','A'); %# Save A to a file >> whos -file savetest.mat %# Look at the .mat file contents Name Size Bytes Class Attributes A 1000x1000 8000000 double 文件大小为7.21 MB左右。现在执行以下操作:
>> A = []; %# Set the variable A to empty >> save('savetest.mat','A','-append'); %# Overwrite A in the file >> whos -file savetest.mat %# Look at the .mat file contents Name Size Bytes Class Attributes A 0x0 0 double 现在文件大小约为169个字节。该变量仍在其中,但为空。
更多&回答...