Matlab'save'函数 - 如何将.mat文件中的变量命名为与文件名相同?

时间:2010-10-06 04:15:19

标签: file variables matlab function save

我想将q的{​​{1}}的结果保存在case_no的相应字符串中作为.mat文件。使用我的q_cases语句即使文件的名称作为save(q_cases{case_no},'q')的相应字符串出现,但是所有这些.mat文件都包含具有相同名称q_cases的变量。当我打开那些.mat文件时,我得到一个名为q的变量,用于所有3个文件。但是,我希望这些文件中存储的变量名称与文件名相同,分别为qq_aq_b

1 个答案:

答案 0 :(得分:4)

解决此问题的一种方法是使用eval指定变量名称。

修改

通常不建议使用Eval,因为它很难调试/维护。因此,您可以先创建一个结构并使用-struct-option of save,如下所示:

for case_no=1:length(n)
       [q,S]=q_from_A(nModel,nModel_want,nCell,T,A{case_no},B{case_no},C{case_no},D{case_no},E{case_no},F{case_no});
    %# create structure for saving
    saveStruct = struct(q_cases{case_no},q,...
        S_cases{case_no},S);
    %# ... and save it
    save(q_cases{case_no},'-struct','saveStruct',q_cases{case_no});
    save(S_cases{case_no},'-struct','saveStruct',S_cases{case_no});
end