How to access workspace variables one by one using m-script
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I would like to read all workspace variables into array and check whether the name of variable is Matlab keyword or not. For example, I have four variables in workspace(a = 1;b=2;c=3;d=4;). I want to check if the varaible is keyword or not using matlab inbuilt function(iskeyword()) like below.
iskeyword('a')
ans =
0
>> iskeyword('if')
ans =
1
Is it possible check all base work space variables like this?
0 commentaires
Réponse acceptée
Nobel Mondal
le 1 Juin 2015
You can get all the workspace variables like this:
>> varList = evalin('base', 'who');
Then check individual parameters:
>> iskeyword(varList{k}) % for k-th parameter
3 commentaires
Nobel Mondal
le 1 Juin 2015
Modifié(e) : Nobel Mondal
le 1 Juin 2015
Ah, you're probably calling this from inside a function. You need to define the WorkSpace context: 'base' or 'caller'
Or else, you simply can try
>> varList = who;
If the scope isn't changing.
Plus de réponses (1)
Azzi Abdelmalek
le 1 Juin 2015
a = 1;
b=2;
c=3;
d=4;
s1=whos
out=cellfun(@iskeyword,{s1.name})
4 commentaires
Azzi Abdelmalek
le 1 Juin 2015
Maybe you need this
s1=whos
s2={s1.name}
for k=1:numel(s1)
out(k)=iskeyword(eval(s2{k}))
end
Voir également
Catégories
En savoir plus sur Whos dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!