With you suggestions, this is what I finally wrote:
Superset = datenum(datedif);
Subset = datenum(electiondates);
[isfound, daterows] = ismember(electiondates, datedif);
for i=1:numel(daterows)
if isfound(i)==0
Subset(i)=Subset(i)-1;
electiondates(i)=datestr(Subset(i));
[isfound(i),~] = ismember(electiondates(i), datedif);
if isfound(i)==0
Subset(i)=Subset(i)-1;
electiondates(i)=datestr(Subset(i));
end
end
end
[~, daterows] = ismember(electiondates, datedif);
for j = 1:numel(daterows)
sumdif = difrence(daterows(j) : daterows(j)+29);
psum(j) = sum(sumdif(sumdif> 0));
nsum(j) = sum(sumdif(sumdif< 0));
end
Any suggestions for improvement?