Matlab workscape
Как в .m файле обращаться к переменным, которые хранятся в текущем Workspace-e?Можно
Можно такое сделать в принципе?
help assign
help evalin
Примеры
function setvlist(vlist, val)
% SETVLIST - set all varibles in the vlist to val
% vlist - a cell array of varibles name
% val - some vlue
% USAGE:
% setvlist(who, 5)
if nargin<2
val = 0;
end
for q=1:numel(vlist)
assignin('caller', vlist{q}, val);
end
function dispvlist(vlist)
% DISPVLIST - print all variables in the workspace
% USAGE:
% setvlist(who)
if nargin<2
val = 0;
end
for q=1:numel(vlist)
evalin('caller', vlist{q});
end
![](/images/graemlins/smile.gif)
Или неизвестно, что лежит в этом workspace?
А не проще обращаться по, собственно, именам этих global переменных?Эти переменные не global
Или неизвестно, что лежит в этом workspace?Да. Так можно, если очень хочется, организовать вызов "функции по адресу".
Я почему-то считал, что делая
load workspace.mat
в скрипте, я получаю глобальные переменные.
А они вполне себе локальные.
Спасибо.
Оставить комментарий
MaD_ExperT
Как в .m файле обращаться к переменным, которые хранятся в текущем Workspace-e?Можно такое сделать в принципе?