function pos=sp(tk,brdc)
gm=3.986005e+14;
we=7.2921151467e-5;%地球自轉平均角速度
a1=brdc(2,4);
a=a1*a1; % 長半軸
e=brdc(2,2);
w=brdc(4,3);
crs=brdc(1,2);cuc=brdc(2,1);cus=brdc(2,3);
cic=brdc(3,2);cis=brdc(3,4);crc=brdc(4,2);
% (1)已知長半軸a,計算平均角速度n
n0=sqrt(gm)/brdc(2,4)^3; % 平均角速度
n=n0+brdc(1,3); %改正平角速度
% (2)求偏近點角ek
mk=brdc(1,4)+n*tk; %平近點角
%迭代計算
ek=mk;ek1=inf;
while abs(ek1-ek)>1e-13
ek1=ek;
ek=mk+e*sin(ek1);
end% (3)計算真近點角f
v1=sqrt(1-e^2)*sin(ek);
v2=cos(ek)-e;
fk=atan2(v1,v2); %真近點角
r0=brdc(2,4)^2*(1-e*cos(ek));
% (4)根據已知的近地點角距w求公升交角距theta
u0=fk+w; %公升交距
fai=2*u0;
%(5)求改正數
duk=cus*sin(fai)+cuc*cos(fai); %軌道攝動項改正數
drk=crs*sin(fai)+crc*cos(fai);
dik=cis*sin(fai)+cic*cos(fai);
uk=u0+duk;
rk=r0+drk;
ik=brdc(4,1)+dik+brdc(5,1)*tk;
x=[rk*cos(uk);rk*sin(uk);0];
%計算公升交點經度
omk=brdc(3,3)+brdc(4,4)*tk-we*(brdc(3,1)+tk);
rx=[1 0 0; 0 cos(ik) -sin(ik);0 sin(ik) cos(ik)];
rz=[cos(omk) -sin(omk) 0;sin(omk) cos(omk) 0;0 0 1];
pos=rz*rx*x;
end
利用Google Maps監視衛星軌道
利用google maps看地球是地球人都知道的事情,但是用google maps看你頭頂上飛的衛星聽過沒?呵呵,小龍發現了乙個很好玩的 它利用google maps將宇宙執行的衛星實時軌跡標記出來,這樣你就知道你頭頂上是哪個國家的衛星在你頭上飛了哦 具體步驟 輸入 數字系北美防空司令部的識別碼 你...
MATLAB 根據SP3檔案繪製星下點軌跡
xyz與blh轉換的 參考 ground track.py pan li.email lipan.whu gmail.com jiahuan hu.email hhu whu.edu.cn 本方法通過讀取精密星曆中的衛星座標進行直接的星下點軌跡繪製,並實現了對gnss系統的選擇,示例所給的sp3檔案...
利用MATLAB繪製相軌跡
不直接用時間變數而用狀態變數表示運動的方法稱為相空間方法,也稱為狀態空間方法。在自動控制理論中,把具有直角座標x和x 的平面叫做相平面。相平面是二維的狀態空間,二階系統的某一狀態對應於相平面上的一點,狀態隨時間轉移的情況對應於相平面上點的移動。相平面上的點隨時間變化描繪出來的曲線叫做相軌跡。相軌跡作...