在不使用循环的情况下一次性从名称列表中保存多个变量

Save multiple variables from a list of names in one go without using loop

我正在尝试将工作区中的变量列表保存到 .mat 文件中。我遇到的问题是我正在尝试使它成为一个函数,并且该函数应该能够处理要保存的变量列表。我可以循环如下:

vars = {'a','b','c'}; % names of variables
for k = 1:numel(vars)
    save(filename,vars(k),'-append');
end

但这对我来说并不优雅,标志 -append 减慢了这个过程。 我正在努力实现这样的目标:

vars = {'a','b','c'}; %names of variables
save(filename,vars);

这可能吗?

因为 save expects each variable name as a separate input argument, you can use a comma-separated list 从元胞数组生成:

save(filename, vars{:})