saving variables programmatically using list of variable names
显示 更早的评论
Hi all,
This should be simple but I think my frustration level is keeping me from seeing the path.
I simply want to save some variables on the workspace based on a list of those variable names.
a=1;b=2;c=3
varNames = {'a','b','c'};
save('myMatFile',varNames)
which yields the error 'Error using save. Must be a string scalar or character vector'. (what must be a string scalar? File name? vars? Yes I know, vars, but still TMW...)
so how about
save('myMatFile',cell2mat({'a,','b,','c'});
yielding the more useful error 'a,b,c' is not a valid variable name.
I see where this is going, I must have a properly formatted string array akin to eval inputs. But there really should be an easier way, like my original attempt.
Thanks for the support and letting me rant a bit.
-Chris
1 个评论
Steven Lord
2020-6-5
That message does seem vague. I've reported that to the development staff.
采纳的回答
更多回答(1 个)
Sulaymon Eshkabilov
2020-6-5
编辑:Sulaymon Eshkabilov
2020-6-5
Here is an easy solution:
a=1;b=2;c=3;
save('myMatFile.mat','a','b','c')
% Or
a=1;b=2;c=3;
MY_var = {'a','b','c'};
save('myMatFile.mat','MY_var')
1 个评论
This code
MY_var = {'a','b','c'};
save('myMatFile.mat','MY_var')
will just save a cell array of character vectors 'a', 'b', and 'c', not the variables with the corresponding names. This does not resolve the original question.
类别
在 帮助中心 和 File Exchange 中查找有关 Variables 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!