資源簡介
主要利用衛星,即GPS來計算用戶位置,是利用matlab來編程的

代碼片段和文件信息
%模擬運動的衛星
function?moni
clear;clc;close?all;
DtoR=2*pi/360;
JiaoStep=360/24*DtoR;
for?time=0:11
????figure(time+1);
????a=26560;%衛星軌道的長半軸
????e=0.02;
????E=[0:0.1:2*pi];
????x=a*cos(E);
????y=a*sqrt((1-e^2))*sin(E);
????z=0*E;
????DrawEarth(time);
????hold?on;
????A1=[32.8?92.8?152.8?212.6?272.8?332.8];
????for?k=1:6
????????A=A1(k)*DtoR;
????????B=55*DtoR;
????????C=pi/100;
????R3=[cos(A)?-sin(A)?0;
??????????sin(A)?cos(A)?0;
??????????0?0?1];
??????R1=[1?0?0?;
??????????0?cos(B)?-sin(B);
??????????0?sin(B)?cos(B)];
??????R2=[cos(C)?-sin(C)?0;
??????????sin(C)?cos(C)?0;
??????????0?0?1];
????L1=length(E);
????R312=R3*R1*R2;
????Ans=R312*[x;y;z;];
????x1=Ans(1:);
????y1=Ans(2:);
????z1=Ans(3:);
????plot3c(x1y1z1k);
????hold?on;
????axis?equal;
????axis?off;
????grid?on;
????end
?????Ctable=[10?50?160?260;
?????????????80?180?220?320;
?????????????10?130?250?340;
?????????????50?150?170?300;
?????????????100?210?310?340;
?????????????140?150?240?350;];
?????????Wx=ones(11);?Wy=ones(11);Wz=ones(11);
?????????for?k=1:6
??????????????A=A1(k)*DtoR;
??????????????B=55*DtoR;
??????????????for?m=1:4
??????????????????C=Ctable(km)*DtoR+JiaoStep*time;%近地點幅角
??????????????????
??????????????????x=a*cos(C);
??????????????????y=a*sqrt((1-e^2))*sin(C);
??????????????????z=0*C;
????R3=[cos(A)?-sin(A)?0;
??????????sin(A)?cos(A)?0;
??????????0?0?1];
??????R1=[1?0?0?;
??????????0?cos(B)?-sin(B);
??????????0?sin(B)?cos(B)];
??????R2=[cos(C)?-sin(C)?0;
??????????sin(C)?cos(C)?0;
??????????0?0?1];
????L1=length(E);
????R312=R3*R1*R2;
????Ans=R312*[x;y;z;];
????Wx=[Wx?Ans(1:)];
????Wy=[Wy?Ans(2:)];
????Wz=[Wz?Ans(3:)];
????x1=Ans(1:);
????y1=Ans(2:);
????z1=Ans(3:);
????DrawSatellite(x1y1z1k);
????hold?on;
??????????????end
?????????end
?????????drawnow;%刷新屏幕
?????????M(time+1)=getframe;
end
figure(111);
axis?equal;
axis?off;
movie(M122);%播放12次影像動畫,每秒顯示兩幀?
DrawSatelliteOribt
%真近點角、平近點角與偏近點角的關系
function?relation
DToR=2*pi/360;
Ms=0:1:359;
es=0.01;
Ms=DToR*Ms;
Es=zeros(1360);
for?i=1:360
????dEs=1;
????TempMs=Ms(i);
????TempEs=TempMs;
????while?(abs(dEs)>0.0001)
????????TempEsNext=TempMs+es*sin(TempEs);
????????dEs=TempEs-TempEsNext;
????????TempEs=TempEsNext;
????end
????Es(i)=TempEs;
end
Fs=zeros(1360);
v1=sqrt((1+es)/(1-es));
for?i=1:360
????v2=v1*tan(Es(i)/2);
????Fs(i)=mod((2*atan(v2)+2*pi)2*pi);
end
Es=Es/DToR;
Ms=Ms/DToR;
Fs=Fs/DToR;
disp(Es);
disp(Ms);
disp(Fs);
??????
%模擬用戶可見衛星
function?visitable
clear;clc;close?all;
a=26560;%衛星軌道的長半軸
????e=0.02;
????E=[0:0.1:2*pi];
????x=a*(cos(E)-e);
????y=a*sqrt((1-e^2))*sin(E);
????z=0*E;
????TimeNow=0;
????global?SatellitePosition?%定義全局變量
????SatellitePosition=ones(244);
????figure(1);
????DrawEarth(0);
????hold?on;
????DtoR=2*pi/360;
????A1=[32.8?92.8?152.8?212.6?272.8?332.8];
????DrawSatelliteOribt;
????Ctable=[10?50?160?260;
????????80?180?220?320;
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????9514??2012-03-28?22:49??gps.m
評論
共有 條評論