File Matlab';s';保存';函数-如何将.mat文件中的变量命名为与文件名相同的名称?

File Matlab';s';保存';函数-如何将.mat文件中的变量命名为与文件名相同的名称?,file,variables,matlab,function,save,File,Variables,Matlab,Function,Save,我想将每个案例编号的q结果保存在q\u案例的相应字符串中,作为.mat文件。在我的save(q_cases{case_no},'q')语句中,即使文件名作为q_cases的对应字符串出现,但是所有这些.mat文件都包含同名的变量q。当我打开那些.mat文件时,我得到一个变量,它的名称为所有3个文件的q。但是,我希望存储在这些文件中的变量名称与文件名称相同,即分别为q_a、q_b和q_c。解决此问题的一种方法是将变量名称指定为 编辑 通常不建议使用Eval,因为它很难调试/维护。因此,您可以先创建

我想将每个
案例编号
q
结果保存在
q\u案例
的相应字符串中,作为.mat文件。在我的
save(q_cases{case_no},'q')
语句中,即使文件名作为
q_cases
的对应字符串出现,但是所有这些.mat文件都包含同名的变量
q
。当我打开那些.mat文件时,我得到一个变量,它的名称为所有3个文件的
q
。但是,我希望存储在这些文件中的变量名称与文件名称相同,即分别为
q_a
q_b
q_c

解决此问题的一种方法是将变量名称指定为

编辑

通常不建议使用Eval,因为它很难调试/维护。因此,您可以先创建结构,然后使用,如下所示:

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

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

编辑

通常不建议使用Eval,因为它很难调试/维护。因此,您可以先创建结构,然后使用,如下所示:

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

在保存变量之前,是否可以用所需的名称复制该变量?使用新名称保存变量后,可以使用
clear
将其从工作区中删除。在保存变量之前,是否可以使用所需名称复制该变量?使用新名称保存变量后,可以使用
clear
将其从工作区中删除。@Harpreet:很高兴提供帮助。顺便说一句,我已经修复了变量名。@Harpreet:很高兴能帮忙。顺便说一句,我已经修复了变量名。