⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ymd2mjd.m

📁 Sky lab calculate position of satellite in GNSS systems and calculate elevation and azimuth them and
💻 M
字号:
function mjd=ymd2mjd(ymd)
%YMD2MJD Gregorian Calendar to Modified Julian Date
%        YMD2MJD(ymd) returns the Modified Julian Date MJD (JD-2400000.5) 
%        for 0 hrs. Input is a three-element row vector containing the 
%        decimal year, month and day in the Gregorian Calendar
%
%           ymd = [ year month day ]
%
%        or a string in the format 'yy-mm-dd' or 'dd-mmm-yy'.         
%        Acceptable years are  
%           00-49, interpreted as 2000-2049,
%           50-99,     "       "  1950-1999,
%           100 upwards, interpreted literally.
%        If the day is not OK the function returns the MJD into the next
%        (previous) month or year. Fraction of days are carried into the mjd.
%        If the input year or month are not OK the function returns NaN. 
%        Fractions of year and month are meaningless.
%
%        See also MJD2YMD, YMD2STR and STR2YMD.

%        H. van der Marel, LGR, 29-04-95
%        (c) Geodetic Computing Centre, TU Delft

if isstr(ymd)
  ymd2=str2ymd(ymd);
  year=round(ymd2(:,1));
  month=round(ymd2(:,2));
  day=ymd2(:,3);
else
  year=round(ymd(:,1));
  month=round(ymd(:,2));
  day=ymd(:,3);
end

% Add default century 
if year>=0 & year<=49
  year=year+2000;
elseif year>=50 & year<=99
  year=year+1900;
end

% Validate year and month
i=find(year<-4699 | month<1 | month>12);year(i)=NaN*i;month(i)=NaN*i;
 
% % Length of month in days
% lom=[31 28 31 30 31 30 31 31 30 31 30 31]
% % Account for leap year
% if rem(year,4)==0, lom(2)=29;, else, lom(2)=28;, end
% if rem(year,100)==0 & rem(year,400)==0, lom(2)=28;, end
% % Validate day
% if day<1 | day>lom(month),disp('Warning YMD2MJD: invalid Day'),end

% Modified Julian Date
mjd=   fix((1461*(year-fix((12-month)/10)+4712))/4) ... 
   +   fix((306*rem(month+9,12)+5)/10) ...
   -   fix((3*fix((year-fix((12-month)/10)+4900)/100))/4) ... 
   +   day - 2399904;


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -