importing matrix and variables of a m-file function into workspace directly and making a matrix name based on a variable string
1 view (last 30 days)
Show older comments
Is it possible to import matrix and variables of a m-file function into workspace directly? please help also: i want to put a function in for-loop and there is a variable that is named: lable (string). lable, is the name of a matrix that in each loop, creates. for example when i=1 (first loop), lable='matrix1' .and when i=2,lable='matrix2' ,....
in function, a matrix creates with name of RESULT but i seriously need this name depends on 'lable', like: RESULT_lable . here i have 3 problems:
1- how could a string like lable add the name of RESULT matrix for being RESULT_lable to be a matrix in this name
2-now how could import RESULT_lable matrix directly into workspace( because where that I call this function, it self is a function too)
3-now after solving 1,2 it's needed writing if-end command, does this command true:
if exist('RESULT_lable')==0 %RESULT_lable must save in workspace
calling function
end
0 Comments
Accepted Answer
Fangjun Jiang
on 9 Sep 2011
1. To make a new variable name, use
Name1='matrix';
Name2='label';
NewName=[Name1,'_',Name2];
2. Don't name your varialbe as 'matrix1','matrix2',... Instead, use array or cell array so you can reference it as matrix(1),matrix(2). Search for 'How can I create variables A1, A2,...,A10 in a loop?' on this page to see the guidance. http://matlab.wikia.com/wiki/FAQ
If you really need to do it, use
assignin('base',NewName,2*pi)
3. Use exist(NewName,'var') to check if an variable with the name already exists in the workspace.
6 Comments
Fangjun Jiang
on 10 Sep 2011
Like Jan said, be very careful not to abuse the usage of assignin() and evalin(). If you really need to check the existing of a base workspace variable from a function, you can do:
try
evalin('base',NewName);
catch
assignin('base',NewNaew,2);
end
More Answers (0)
See Also
Categories
Find more on Data Type Identification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!