使用matlab保存在函数中

时间:2011-11-16 13:53:00

标签: matlab scope save workspace

是否可以在函数内部使用Matlab save命令来存储工作空间变量?

考虑以下场景:我在Matlab工作区中有一堆变量,并希望在.mat文件中以“a”和“b”开头。当然这有效:

save('test.mat','a*','b*')

但我希望有一个变量文件名。我写的函数:

function save_with_name(name)
save(name,'a*','b*')

不起作用,因为save_with_name没有看到工作区变量。有没有我可以使用的解决方案?

1 个答案:

答案 0 :(得分:5)

您需要评估基础工作区中的save

function save_with_name(name)
expression = ['save(''', name, ''',''a*'',''b*'')'];
evalin('base',expression);

表达式中的双引号('')是允许引号字符本身(')所必需的。 因此,您要查找的命令是:evalin