MATLAB-单独将工作区变量保存到许多单独的.mat文件中

时间:2015-07-14 19:24:02

标签: matlab save syntax-error workspace

所以我在MATLAB工作区中有很多文件都采用相同的格式,

" project1day1"," project1day2"而不是将它们全部放在同一个工作区中,我希望将它们保存为具有相同名称的各自的.mat文件。

所以,我想要" project1day1"工作区中的变量转到" project1day1.mat"文件。

我有7个项目,除了项目1之外的所有项目都有3个"天"。我无法执行确切的语法来执行此操作。我想以一般方式遍历我的工作区数据。我想按照以下方式执行某些操作:

maxdays=3;
maxprojects=7;

for i = 1:maxprojects;
  for j = 1:maxdays;

     save('project%dday%d','project%dday%d,i,j,i,j)

  end
end

两件事:

1)保存选项不起作用

2)我需要包含某种~if(存在' ...')用于没有第3天的情况,但我在做的时候遇到了麻烦所以。

1 个答案:

答案 0 :(得分:2)

正如rayryeng所写,我认为在大多数情况下,将变量保存在一个文件中,或者(你写的都是相同的格式)使用结构或单元格数组会更好,这样会更容易稍后访问它们。

如果您确实需要将工作区中的所有变量保存为单独的文件,可以执行以下操作:

vars = who;

for i=1:length(vars)
    save([vars{i} '.mat'], vars{i});
end

但是,如果不是(出于某种原因)绝对必要,我也不会这样做!