Date: Apr 16, 2013 6:11 PM
Author: Paul
Subject: Determining 'classname' such that isa(v,'classname') will be true

Given an object v of a class, how can I determine all possible classname such that isa(v,'classname') will return true?  For example, consider the following:

h=ss(1,1,1,1);
class(h)
mc=metaclass(h);
mc.SuperclassList.Name
L1=isa(h,'ss'); % returns true, understandable
L2=isa(h,'numlti'); % returns true, understandable
L3=isa(h,'StateSpaceModel'); % returns true, understandable
L4=isa(h,'lti'); % returns true, how would I have known?
[L1 L2 L3 L4]

ans =
ss

ans =
numlti

ans =
StateSpaceModel

ans =

1 1 1 1

I just stumbled on 'lti' returning true for this case. How could I have found that programatically? In general, is there some function that has a functionality like:
c = whatis(v); % returns cell array c such that isa(v,c{i}) is true