Daniel@0: function b = subsref(a,index) Daniel@0: % Define field name indexing for mirstruct objects Daniel@0: switch index(1).type Daniel@0: case '.' Daniel@0: if strcmpi(index(1).subs,'tmp') Daniel@0: if length(index)== 1 Daniel@0: b = []; Daniel@0: else Daniel@0: if length(index)>2 Daniel@0: if strcmpi(index(3).type,'{}') Daniel@0: isubs = index(3).subs; Daniel@0: if length(isubs)>1 Daniel@0: b = a.tmp.(index(2).subs){isubs{1},isubs{2}}; Daniel@0: else Daniel@0: b = a.tmp.(index(2).subs){isubs{1}}; Daniel@0: end Daniel@0: end Daniel@0: else Daniel@0: b = a.tmp.(index(2).subs); Daniel@0: end Daniel@0: end Daniel@0: return Daniel@0: end Daniel@0: [is,id] = ismember(index(1).subs,a.fields); Daniel@0: if length(index) == 1 Daniel@0: b = a.data{id}; Daniel@0: else Daniel@0: b = subsref(a.data{id},index(2:end)); Daniel@0: end Daniel@0: end