Skip to content
Snippets Groups Projects
Verified Commit 1ead1dff authored by Stéphane Adjemian's avatar Stéphane Adjemian
Browse files

Removed routine.

parent 0c51f451
No related branches found
No related tags found
No related merge requests found
function o = ordinalinyear(y, m, d)
% Returns the ordinal date (day number in current year).
%
% INPUTS
% - y [integer] scalar or vector, the year.
% - m [integer] scalar or vector, the month.
% - d [integer] scalar or vector, the day in a month.
%
% OUTPUS
% - o [integer] scalar or vector, day number in year y.
% Copyright © 2021 Dynare Team
%
% This file is part of Dynare.
%
% Dynare is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% Dynare is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <https://www.gnu.org/licenses/>.
D = [31; 28; 31; 30; 31; 30; 31; 31; 30; 31; 30]; % Number of days in January, February, ..., November
if ~(isvector(y) && isvector(m) && isvector(d)) || ~(isint(y) && isint(m) && isint(d))
error('Arguments must be vectors of integers.')
end
if ~(length(y)==length(m) && length(y)==length(d))
error('Arguments must have same lengths.')
end
o = zeros(length(y), 1);
for i=1:length(o)
o(i) = d(i) + days(y(i), m(i));
end
function d = days(y, m)
if m>1
d = cumsum(D(1:m-1));
else
d = 0;
end
if m>2
d = d + isleapyear(y);
end
end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment