Is there any command to get the base workspace variable name ?

2 Comments

In which contest? within a function? Which variable? All of them? An input to a function?
I have a function like below
function data()
run('D:\......\comp.m')
end
so now comp.m will run and store the repective variable in base workspace.
Problem is now i need to get the name of the base workspace variables

Sign in to comment.

 Accepted Answer

Thorsten
Thorsten on 4 Dec 2015
Edited: Thorsten on 4 Dec 2015
S = whos;
varname = {S.name};

5 Comments

When I use this command i am getting only the local workspace variable name
True. To access the base workspace, use evalin
vars = evalin('base','who');
or
S = evalin('base','whos');
varname = {S.name};
Great . Thanks a lot. Now works fine.
"use evalin": Here be dragons. Do not go down that path unless you know what you're doing and know all the pitfalls of using eval and its friends.
For what reasons do you want to have the list of variables in the base workspace?
I have a function like below
function data()
run('D:\......\comp.m')
end
so now comp.m will run and store the repective variable in base workspace only right. I need the variable name so oly. Like wise this will run in loops

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!