MATLAB: Why ismember({​struct.nam​e},{‘*.mat​’}) returns zero while struct.nam​e=’baseval​ues_Mean_r​.mat’

ismember

Any idea why ismemeber returns zero in this case?

Best Answer

ismember() never does wildcarding. It only does exact matches.
regexp() does matching but the handling of wildcards is different than what you would expect.
~cellfun(@isempty, regexp({struct.name},'.*\.mat$', 'once'))
but for your purposes it might be enough to use
endsWith({S.name},'.mat')