Matlab 如何清除mat文件的变量?
我有一个mat文件,名为Matlab 如何清除mat文件的变量?,matlab,Matlab,我有一个mat文件,名为save.mat,它有两个变量。我想清除变量并添加一些其他变量。如何在mat文件中清除/添加变量 最好的您可以通过两种方式来实现这一点,一种是通过MatlabGUI,另一种是通过脚本 要在Matlab中实现这一点,只需导航到.mat文件的目录,在命令窗口中运行“clear”(如果需要数据,请确保保存当前工作区!),双击.mat文件即可加载它。从这里,您可以使用工作区删除并向您的心脏内容添加变量 如果要在脚本中执行此操作,请设置如下内容: clear load('save'
save.mat
,它有两个变量。我想清除变量并添加一些其他变量。如何在mat文件中清除/添加变量
最好的您可以通过两种方式来实现这一点,一种是通过MatlabGUI,另一种是通过脚本 要在Matlab中实现这一点,只需导航到.mat文件的目录,在命令窗口中运行“clear”(如果需要数据,请确保保存当前工作区!),双击.mat文件即可加载它。从这里,您可以使用工作区删除并向您的心脏内容添加变量 如果要在脚本中执行此操作,请设置如下内容:
clear
load('save'); % load the .mat file
clear foo bar % removes the variables 'foo' and 'bar'
baz = 3; % adds the variable 'baz'
save('save'); % save over the old .mat file
要将一个或多个变量添加到现有的
.mat
文件,可以通过指定选项-append
使用保存
功能
要从现有.mat
文件中删除一个或多个变量,您可以:
- 使用
功能将load
文件加载到.mat
中:每个读取变量将存储在struct的一个字段中struct
- 使用
函数,从该结构中删除要从原始rmfield
文件中删除的变量对应的字段mat
- 通过指定选项
,使用-struct
功能保存结构:这将允许将结构的字段保存为单个变量save
% Define some varaible to be saved
a=1
b=2
c=3
% Save the varaibles
save('add_del.mat','a','b','c')
% Define an additional variable
d=4
% Add the new varaible to the ".mat" file
save('add_del.mat','d','-append')
% Load the ".mat" file into a struct
str=load('add_del.mat')
% Delete the field corresponding to the varaible to delete
str=rmfield(str,'b')
% Save the fields of a structure as individual variables
save('add_del.mat','-struct','str')
希望这有帮助
我认为,Qapla'excaza提出了一个很好的建议。要验证
matfile
命令是否按建议工作,请尝试以下操作:
filename = ('file.mat');
m = matfile(filename,'Writable',true);
y = 23;
m.y = y;
clear y
load(filename);
display(y);
y = 24;
m.y = y;
clear y
load(filename);
display(y);
请参阅:为了避免将数据加载到内存中。为什么要保留matfile,但删除其所有内容?删除完整文件。谢谢,但我做了同样的事情,没有发生任何事情。我有一个mat文件,它有一个变量RMode,但是当我尝试使用上面的代码删除它时,它仍然存在于state字段中。为什么会这样?谢谢你的解释。但这似乎并不能解决我的问题。我有一个mat文件,我希望在不将其转换为结构的情况下清除其内容。但您所说的是一个将mat文件转换为结构的示例,但它不会影响原始mat文件。它是如何工作的?对不起,我是matlab新手,我知道了。但是我没有做最后一步。很抱歉但应该有一种方法可以直接修改mat文件的内容,而无需将其转换为结构然后保存。正确的?