是否可以在函数内部使用Matlab save命令来存储工作空间变量?
考虑以下场景:我在Matlab工作区中有一堆变量,并希望在.mat文件中以“a”和“b”开头。当然这有效:
save('test.mat','a*','b*')
但我希望有一个变量文件名。我写的函数:
function save_with_name(name)
save(name,'a*','b*')
不起作用,因为save_with_name没有看到工作区变量。有没有我可以使用的解决方案?
答案 0 :(得分:5)
您需要评估基础工作区中的save
。
function save_with_name(name)
expression = ['save(''', name, ''',''a*'',''b*'')'];
evalin('base',expression);
表达式中的双引号('')是允许引号字符本身(')所必需的。 因此,您要查找的命令是:evalin