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:很高兴能帮忙。顺便说一句,我已经修复了变量名。