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

📄 create_svn2prn.m

📁 gps“可用性”matlab代码 Matlab Algorithm Availability Simulation Tool
💻 M
字号:
function svn2prn = create_svn2prn(year, month, day)% Create an svn2prn conversion table.% This is to be used in the file load_truth in order to convert super truth% SVNs to maast PRNs.  This file is time-dependent, so any future prn% additions must be made here.currentdate = [year month day];% For each SVN, test to determine if the current date is between the% satellite usable date and final failure date% SVN 1if (before([1978 3 29], currentdate) & before(currentdate, [1985 7 17]))    svn2prn(1) = 4;else    svn2prn(1) = NaN;end;% SVN 2if (before([1978 7 14], currentdate) & before(currentdate, [1988 2 12]))    svn2prn(2) = 7;else    svn2prn(2) = NaN;end;% SVN 3if (before([1978 11 13], currentdate) & before(currentdate, [1992 5 18]))    svn2prn(3) = 6;else    svn2prn(3) = NaN;end;% SVN 4if (before([1979 1 8], currentdate) & before(currentdate, [1989 10 14]))    svn2prn(4) = 8;else    svn2prn(4) = NaN;end;% SVN 5if (before([1980 2 27], currentdate) & before(currentdate, [1984 5 11]))    svn2prn(5) = 5;else    svn2prn(5) = NaN;end;% SVN 6if (before([1980 5 16], currentdate) & before(currentdate, [1991 3 6]))    svn2prn(6) = 9;else    svn2prn(6) = NaN;end;% SVN 7, Never usablesvn2prn(7) = NaN;% SVN 8if (before([1983 8 10], currentdate) & before(currentdate, [1993 5 4]))    svn2prn(8) = 11;else    svn2prn(8) = NaN;end;% SVN 9if (before([1984 7 19], currentdate) & before(currentdate, [1994 2 28]))    svn2prn(9) = 13;else    svn2prn(9) = NaN;end;% SVN 10if (before([1984 10 3], currentdate) & before(currentdate, [1995 11 18]))    svn2prn(10) = 12;else    svn2prn(10) = NaN;end;% SVN 11if (before([1985 10 30], currentdate) & before(currentdate, [1994 4 13]))    svn2prn(11) = 3;else    svn2prn(11) = NaN;end;% SVN 12 -- never existedsvn2prn(12) = NaN;% SVN 13if (before([1989 8 10], currentdate))    svn2prn(13) = 2;else    svn2prn(13) = NaN;end;% SVN 14if (before([1989 4 15], currentdate) & before(currentdate, [2000 3 26]))    svn2prn(14) = 4;else    svn2prn(14) = NaN;end;% SVN 15if (before([1990 10 1], currentdate))    svn2prn(15) = 15;else    svn2prn(15) = NaN;end;% SVN 16if (before([1989 10 14], currentdate) & before(currentdate, [2000 10 13]))    svn2prn(16) = 16;else    svn2prn(16) = NaN;end;% SVN 17if (before([1990 1 6], currentdate))    svn2prn(17) = 17;else    svn2prn(17) = NaN;end;% SVN 18if (before([1990 2 14], currentdate) & before(currentdate, [2000 8 18]))    svn2prn(18) = 18;else    svn2prn(18) = NaN;end;% SVN 19if (before([1989 11 23], currentdate) & before(currentdate, [2001 9 11]))    svn2prn(19) = 19;else    svn2prn(19) = NaN;end;% SVN 20if (before([1990 4 18], currentdate) & before(currentdate, [1996 5 21]))    svn2prn(20) = 20;else    svn2prn(20) = NaN;end;% SVN 21if (before([1990 8 22], currentdate) & before(currentdate, [2002 9 25]))    svn2prn(21) = 21;else    svn2prn(21) = NaN;end;% SVN 22if (before([1993 4 4], currentdate))    svn2prn(22) = 22;else    svn2prn(22) = NaN;end;% SVN 23if (before([1990 12 10], currentdate))    svn2prn(23) = 23;else    svn2prn(23) = NaN;end;% SVN 24if (before([1991 7 4], currentdate))    svn2prn(24) = 24;else    svn2prn(24) = NaN;end;% SVN 25if (before([1992 3 24], currentdate))    svn2prn(25) = 25;else    svn2prn(25) = NaN;end;% SVN 26if (before([1992 7 23], currentdate))    svn2prn(26) = 26;else    svn2prn(26) = NaN;end;% SVN 27if (before([1992 9 30], currentdate))    svn2prn(27) = 27;else    svn2prn(27) = NaN;end;% SVN 28if (before([1992 4 25], currentdate))    svn2prn(28) = 28;else    svn2prn(28) = NaN;end;% SVN 29if (before([1993 1 5], currentdate))    svn2prn(29) = 29;else    svn2prn(29) = NaN;end;% SVN 30if (before([1996 10 1], currentdate))    svn2prn(30) = 30;else    svn2prn(30) = NaN;end;% SVN 31if (before([1993 4 13], currentdate))    svn2prn(31) = 31;else    svn2prn(31) = NaN;end;% SVN 32if (before([1992 12 11], currentdate))    svn2prn(32) = 1;else    svn2prn(32) = NaN;end;% SVN 33if (before([1996 4 9], currentdate))    svn2prn(33) = 3;else    svn2prn(33) = NaN;end;% SVN 34if (before([1993 11 22], currentdate))    svn2prn(34) = 4;else    svn2prn(34) = NaN;end;% SVN 35if (before([1993 9 28], currentdate))    svn2prn(35) = 5;else    svn2prn(35) = NaN;end;% SVN 36if (before([1994 3 28], currentdate))    svn2prn(36) = 6;else    svn2prn(36) = NaN;end;% SVN 37if (before([1993 12 6], currentdate))    svn2prn(37) = 7;else    svn2prn(37) = NaN;end;% SVN 38if (before([1997 12 18], currentdate))    svn2prn(38) = 8;else    svn2prn(38) = NaN;end;% SVN 39if (before([1993 7 21], currentdate))    svn2prn(39) = 9;else    svn2prn(39) = NaN;end;% SVN 40if (before([1996 8 15], currentdate))    svn2prn(40) = 10;else    svn2prn(40) = NaN;end;% SVN 41    if (before([2000 12 10], currentdate))    svn2prn(41) = 14;else    svn2prn(41) = NaN;end;% SVN 42svn2prn(42) = NaN;% SVN 43    if (before([1998 1 31], currentdate))    svn2prn(43) = 13;else    svn2prn(43) = NaN;end;% SVN 44    if (before([2000 8 177], currentdate))    svn2prn(44) = 28;else    svn2prn(44) = NaN;end;% SVN 45    if (before([2003 4 12], currentdate))    svn2prn(45) = 21;else    svn2prn(45) = NaN;end;% SVN 46if (before([2000 1 3], currentdate))    svn2prn(46) = 11;else    svn2prn(46) = NaN;end;% SVN 47-50 not applicablesvn2prn(47:50) = NaN;% SVN 51    if (before([2000 6 1], currentdate))    svn2prn(51) = 20;else    svn2prn(51) = NaN;end;% SVN 52-53 N/Asvn2prn(52:53) = NaN;% SVN 54    if (before([2001 2 15], currentdate))    svn2prn(54) = 18;else    svn2prn(54) = NaN;end;% SVN 55svn2prn(55) = NaN;% SVN 56    if (before([2003 2 19], currentdate))    svn2prn(56) = 16;else    svn2prn(56) = NaN;end;return;function flag = before(date1, date2)% return 1 if date 1 is before date2    flag = 0;    %test year    if (date1(1) < date2(1))        flag = 1;        return;    elseif (date1(1) > date2(1))        flag = 0;        return;    end;    % years are equal test month    if (date1(2) < date2(2))        flag = 1;        return;    elseif (date1(2) > date2(2))        flag = 0;        return;    end    % years/month are equal, test day    if (date1(3) <= date2(3))        flag = 1;        return;    else        flag = 0;        return;    end;    return;    

⌨️ 快捷键说明

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