How to figure out the number of objects in a workspace?
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have taken the workspace function whos and assigned it to variable obj. How do I then find the number of objects in the workspace?
I have:
obj = evalin('base','whos');
%then I go into a loop
count=0;
while(true)
count=count+1;
something=obj(count).class;
%do something
end
Is there a way to find length or sizof obj.class?
0 Kommentare
Akzeptierte Antwort
Sean de Wolski
am 9 Aug. 2011
a=whos;
nObj = size({a(:).size},2);
clear a; %to keep the same number of objects; also assuming a _wasn't_ a variable before.
Thus instead of calling it 'a', I would probably call it something like:
hjsdkjfdlsw6237
or
['dklsfjldrf' dec2hex(floor(rand*1000000))]
2 Kommentare
Sean de Wolski
am 9 Aug. 2011
That part isn't clear to me:
clear
a = whos;
length({a.size})
ans =
0
I'd think you might want to add one, since now there is a variable (_a_), actually in this case two variables (_a,ans_)
Weitere Antworten (1)
Arnaud Miege
am 9 Aug. 2011
How about length(obj)? Note that this will include obj itself, so you may want to subtract 1.
Arnaud
2 Kommentare
Arnaud Miege
am 9 Aug. 2011
I don't think you need obj.class. length(obj) with give you the number of object in the workspace + obj itself.
Siehe auch
Kategorien
Mehr zu Whos finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!