資源簡介
J2000坐標系轉(zhuǎn)換WGS84坐標系代碼。代碼使用MATLAB編寫。% 計算J2000坐標系轉(zhuǎn)換WGS84坐標系的旋轉(zhuǎn)矩陣。目前暫未考慮地球極移矩陣
輸入?yún)?shù): JD_time: 儒略日期
輸出參數(shù):W: WGS84坐標系與J2000.0坐標系的轉(zhuǎn)換矩陣

代碼片段和文件信息
function?W?=?J2000_2_WGS84_matrix(JD_time)
%?計算J2000坐標系轉(zhuǎn)換WGS84坐標系的旋轉(zhuǎn)矩陣
%?目前暫未考慮地球極移矩陣
%?輸入?yún)?shù):
%???????JD_time:????儒略日期
%?輸出參數(shù):
%???????W:??????????WGS84坐標系與J2000.0坐標系的轉(zhuǎn)換矩陣,
%%?--------------------?計算極移矩陣?A?--------------------------
%--?load:?讀取地球的地極坐標(xpyp)。
[nonRynon]?=?rotate_matrix(?-deg2radian(00-0.15)?);
[Rxnonnon]?=?rotate_matrix(?-deg2radian(000.3)?);
%--?A?=?Ry(-xp)*Rx(-yp);
A?=?Ry*Rx;
%%?-------------------?計算自轉(zhuǎn)矩陣?B----------------------------
T0?=?((JD_time?-?2400000.5)?-?51544.5)/36525.0;??%--??從J2000起到t時刻的儒略世紀數(shù)
Tu?=?(JD_time?-?2451545.0)/36525.0;
%--
e_M?=?deg2radian(232621.448)?-?deg2radian(0046.8150)*T0?-?deg2radian(000.00059)*T0^2?+?deg2radian(000.001813)*T0^3;???%弧度角
DE_Blocks?=?DE405_load(JD_time);???????????%讀取DE405數(shù)據(jù)包
DE_angle?=Planet_Position_J2000_Earth(JD_timeDE_Blocks.Blocks14);???%獲取對應時間的黃經(jīng)章動和交角章動
delta_fai?=?DE_angle(1);
delta_e???=?DE_angle(2);?????
%--
%?seta_G?=?(?100.46061837?+?36000.770053608*Tu?+?0.000387933*Tu^2?-?Tu^3/38710000?)/180*pi?...
%???????????+?delta_fai?*cos(e_M?+?delta_e)?+?0.178401471734655;???%--??計算格林尼治恒星時[弧度];
seta_G?=??(?deg2radian(0067310.54841)?+?deg2radian(87660008640184.812866)*Tu?+?...
????????????deg2radian(000.093104)*Tu^2?-?deg2radian(000.62e-5)*Tu^3)*15?+?...
????????????delta_fai?*cos(e_M?+?delta_e)?+?2.61036020374891??;???%--??計算格林尼治恒星時[弧度];
????
[nonnonB]?=?rotate_matrix(seta_G);??%-調(diào)用旋轉(zhuǎn)矩陣
%%?--------------------?計算章動矩陣?C?----------------------------
[Rx_enonnon]?=?rotate_matrix(-e_M-delta_e);
[nonnonRz_fai]?=?rotate_matrix(-delta_fai);
[Rx_eMnonnon]?=?rotate_matrix(e_M);
C?=?Rx_e?*?Rz_fai?*?Rx_eM;
%%?--------------------?計算歲差矩陣?D?--------------------------
ebucailong_p?=?deg2radian(002306.2181)*T0?+?deg2radian(000.30188)*T0^2?+?deg2radian(000.017998)*T0^3;
seta_p???????=?deg2radian(002004.3109)*T0?-?deg2radian(000.42665)*T0^2?+?deg2radian(000.041833)*T0^3;
Z_p??????????=?deg2radian(002306.2181)*T0?+?deg2radian(001.09468)*T0^2?+?deg2radian(000.018203)*T0^3;
%-
[nonnonRz_Z]?=?rotate_matrix(-Z_p);
[nonRy_setanon]?=?rotate_matrix(seta_p);
[nonnonRz_ep]?=?rotate_matrix(-ebucailong_p);
D?=?Rz_Z*Ry_seta*Rz_ep;
%%?-------------------?計算旋轉(zhuǎn)矩陣?W??-----------------------
?W?=?A*B*C*D;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????I.A....??????2443??2016-02-18?21:41??J2000toWGS84.m
-----------?---------??----------?-----??----
?????????????????2443????????????????????1
- 上一篇:基于MATLAB的人臉識別源代碼
- 下一篇:MSK調(diào)制信號的頻譜圖
評論
共有 條評論