• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Matlab
  • 标签: GPS  

资源简介

主要利用卫星,即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

评论

共有 条评论