MATLAB: Getting ‘mondays’ that are first day of the month without using datenum

datefirst day

I'm trying to get the number of mondays that are first day of the month in a year without using the inbuilt function datenum. Any hint on how to tackle this ? thanks

Best Answer

That’s probably not possible. The weekday function implicitly uses datenum.
EDIT However, if you choose to ignore that minor problem:
Year = 2016;
Month = 1:12;
ds = regexp(sprintf('%4d/%02d/%02d\n', [repmat(Year, size(Month))' Month' ones(size(Month'))]'), '\n', 'split');
for k1 = 1:length(Month)
FirstDay(k1) = weekday(ds(k1));
end
FirstDayMonday = Month(FirstDay == 2)
FirstDayMonday =
2 8
So, in 2016, February and August begin on Mondays.