function prop_value = get(obj, varargin) field_names = fieldnames(obj); switch nargin case 1 prop_value = field_names; case 2 prop_name = lower(varargin{1}); if ismember(prop_name, field_names) prop_value = obj.(prop_name); else error('Wrong property name'); end; case 3 prop_name = varargin{1}; label_list = varargin{2}; if ~strcmp(prop_name, 'values') error('Wrong property name'); else if ischar(label_list) label_list = cellstr(label_list); end if ~iscellstr(label_list) error('Wrong input parameter'); end; [ind, loc] = ismember(label_list, obj.labels); prop_value = obj.values(:, loc(ind)); if isempty(prop_value) prop_value = []; end; end; otherwise error('Wrong number of input parameters'); end;