clear; close all % % Calculate the day of year for a given date % days_in_mo = [31 28 31 30 31 30 31 31 30 31 30 31]; % % Get year, see if it's a leap year % If so, make it 29 days in Feb % done = 0; while ~done year = input('Year: '); done = year > 0; end leap = 0; if mod(year,400) == 0 leap = 1; elseif mod(year,100) == 0 leap = 0; elseif mod(year,4) == 0 leap = 1; end; if leap days_in_mo(2) = 29; end % % Get month & day-of-month % done = 0; while ~done month = input('Month number: '); done = month > 0 & month < 13; end done = 0; while ~done day = input('Day of month: '); done = day > 0 & day <= days_in_mo(month); end % % Sum lengths of previous months added to given day % day_of_yr = sum(days_in_mo(1:month-1)) + day