• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

卫星星下点轨迹Matlab仿真

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

参考彭成荣《航天器总体设计》8.2.2节

使用Matlab绘制卫星星下点轨迹

1.地球静止轨道卫星,倾角分别为03090度。

clc; clear;

t = 0:1:6;

we = 360/24;

u = we*t;

i = 30;

fai = asind( sind(i)*sind(u) );

deltalmd = atand( cosd(i)*tand(u) );

if(i==90)

deltalmd(end) = 90;

end

lmd = deltalmd - we*t;

% use symetry to generate the other data

for j = 1:6

lmd(j+7) = -lmd(7-j);

fai(j+7) = fai(7-j);

end

for j = 1:12

lmd(j+13) = lmd(13-j);

fai(j+13) = -fai(13-j);

end

h = geoshow('landareas.shp', 'FaceColor', [1 1 1]);

grid on

hold on

plot(lmd, fai); title(['GEO¹ìµÀ£¬Çã½Çi=', num2str(i)])

2.回归轨道卫星,回归周期1天,倾角分别为60度,周期为4h

clc; clear;

t = [0 1/3 1/2 2/3 4/5 1];

we = 360/24;

w = 180/2;

u = w*t;

i = 60;

fai = asind( sind(i)*sind(u) );

deltalmd = atand( cosd(i)*tand(u) );

lmd = deltalmd - we*t;

% use symetry to generate the other data

for j = 1:5

lmd(j+6) = lmd(6) + ( lmd(6) - lmd(6-j) );

fai(j+6) = fai(6-j);

end

for j = 1:10

if (lmd(11) + ( lmd(11) - lmd(11-j) )) > 180

lmd(j+11) = -180 + rem(lmd(11) + ( lmd(11) - lmd(11-j) ), 180);

else

lmd(j+11) = lmd(11) + ( lmd(11) - lmd(11-j) );

end

fai(j+11) = -fai(11-j);

end

cnt = 1;

for m = 1:5

for j = 1:21

if (lmd(j+21*(m-1)) + 60) > 180

lmd(j+21*m) = -180 + rem(lmd(j+21*(m-1)) + 60, 180);

record(m,cnt) = j; % record when tranverse from east to west

cnt = cnt + 1;

else

lmd(j+21*m) = lmd(j+21*(m-1)) + 60;

end

fai(j+21*m) = fai(j+21*(m-1));

end

cnt = 1;

end

load still

h = geoshow('landareas.shp', 'FaceColor', [1 1 1]);

grid on

hold on

plot(lmd1(2:20), fai1(2:20), 'b--'); % earth still

plot(lmd(1:6), fai(1:6), 'bo');

plot(lmd(21*6), fai(21*6), 'bo');

plot(lmd(1:13), fai(1:13)); plot(lmd(14:21), fai(14:21));

for m = 1:5

plot(lmd(21*m+1:record(m,1)+21*m-1), fai(21*m+1:record(m,1)+21*m-1)); plot(lmd(record(m,1)+21*m:21*(m+1)), fai(record(m,1)+21*m:21*(m+1)));

plot(lmd(21*m), fai(21*m), 'bo');

end

title(['ÐÇϵã¹ì¼££ºT=4h¹ìµÀ£¬Çã½Çi=', num2str(i)])

 

地球不转时的星下点

clc; clear;
t = [0 1/3 1/2 2/3 4/5 1];
we = 360/24;
w = 180/2;
u = w*t;
i = 60;
fai = asind( sind(i)*sind(u) );
 
deltalmd = atand( cosd(i)*tand(u) );
lmd = deltalmd;    % earth still

% use symetry to generate the other data
for j = 1:5
    lmd(j+6) = lmd(6) + ( lmd(6) - lmd(6-j) );
    fai(j+6) = fai(6-j);
end
for j = 1:10
    if (lmd(11) + ( lmd(11) - lmd(11-j) )) > 180
        lmd(j+11) = -180 + rem(lmd(11) + ( lmd(11) - lmd(11-j) ), 180);
    else
        lmd(j+11) = lmd(11) + ( lmd(11) - lmd(11-j) );
    end
    fai(j+11) = -fai(11-j);
end
 
 
for j = 1:21
    if (lmd(j) + 180) > 180
        lmd(j) = -180 + rem(lmd(j) + 180, 180);
    else
        lmd(j) = lmd(j) + 180;
    end
    fai(j) = fai(j);
end
lmd(11) = 0;
 
lmd1 = lmd;
fai1 = fai;
save still lmd1 fai1
 
h = geoshow('landareas.shp', 'FaceColor', [1 1 1]);
grid on
hold on
plot(lmd(2:20), fai(2:20));
% plot(lmd(1:13), fai(1:13)); plot(lmd(14:21), fai(14:21));
% for m = 1:5
%     plot(lmd(21*m+1:record(m,1)+21*m-1), fai(21*m+1:record(m,1)+21*m-1)); plot(lmd(record(m,1)+21*m:21*(m+1)), fai(record(m,1)+21*m:21*(m+1)));
% end
title(['T=4h¹ìµÀ£¬Çã½Çi=', num2str(i)])


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi遍历文件夹及子文件夹发布时间:2022-07-18
下一篇:
Delphi之TComponent类发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap