Tìm vận tốc của vệ tinh địa tinh chuyển động quanh Trái Đất

Bài toán Một vệ tinh địa tĩnh có quỹ đạo nằm trong mặt phẳng xích đạo biết khoảng cách từ vệ tinh đến bề mặt trái đất là h=36000 km và bán kính trái đất R=6400 km. A, Tìm tốc độ góc và tốc độ dài của vệ tinh b, Tìm gia tốc hướng tâm của vệ tinh

c, Tìm tốc độ dài và gia tốc của 1 điểm nằm trên bề mặt trái đất có vĩ độ địa lý là 30 độ

Lần chỉnh sửa cuối bởi 1 quản trị viên: 26/10/14

Lời giảiBài này quá dễ em à. Câu a. Do vệ tinh địa tĩnh đứng yên với mặt đất nên tốc độ góc của nó bằng tốc độ góc của Trái Đất.
Tốc độ dài
Câu b.
Câu c.

Dốt mới cần phải học. Nhờ a giúp đỡ nhiều hơn ạ :))

Sai đơn vị của tốc độ góc kìa

Vệ tinh chuyển động trong trường hấp dẫn Trái đất chịu tác dụng của một gia tốc:

\vec{a}=-\frac{GM}{r^3}\cdot\vec{r},

trong đó G – hằng số hấp dẫn, M – khối lượng Trái đất, \vec{r} – vector toạ độ của vệ tinh. Trạng thái ban đầu của vệ tinh được cho dưới dạng toạ độ Descartes:

r = [-2*R_earth 0 0]; % x, y, z
v = [0 -3e3 5e3]; % vx, vy, vz

Trong vòng lặp tính toán sự tiến hoá của trạng thái theo thời gian, chỉ cần biết trạng thái ban đầu, vận tốc và toạ độ tại mọi thời điểm sau đó được tính toán theo định nghĩa:

while 1 t = t+dt;

R_2 = sum(r.^2);


R = sqrt(R_2);
a = -G*M/R^3*r; v = v+a*dt; r = r+v*dt;

end

Để thiết lập các loại quỹ đạo trong thực tế kĩ thuật, ta cần biết trước chu kì chuyển động T của vệ tinh. Ví dụ vệ tinh trên các quỹ đạo đồng bộ, tính cả quỹ đạo địa tĩnh, có chu kì quay bằng đúng chu kì tự quay quanh trục của Trái đất, tức 23 giờ 56 phút 4 giây, ngắn hơn ngày trung bình khoảng 4 phút. Thời gian đi hết một phòng quỹ đạo của vệ tinh Molnya lại chỉ bằng một nửa: 11 giờ 57 phút 45 giây.

Theo định luật Kepler thứ ba, lập phương bán trục lớn tỉ lệ với bình phương chu kì chuyển động theo quỹ đạo. Từ đó ta có thể tính được giá trị bán trục lớn:

a=\sqrt[3]{\frac{GMT^2}{4\pi^2}}.

Năng lượng toàn phần của vệ tinh gắn liền với bán trục lớn:

E=-\frac{GM}{2a}.

Trong chương trình này, vệ tinh được tạo vận tốc đầu tại cận điểm quỹ đạo, nằm cách tâm Trái đất một đoạn bằng

r_0=a(1-e),

trong đó e là tâm sai được cho trước. Với quỹ đạo địa tĩnh, elip trở thành đường tròn với tâm sai e=0, bán trục lớn trở thành bán kính r_0=a. Ở Liên xô và Nga do phân bố lãnh thổ trên các vĩ độ cao, người ta phát triển những loại quỹ đạo elip có tâm sai lớn, như vệ tinh Molnya và Tundra, sao cho viễn điểm nằm ngay trên đỉnh trời. Theo định luật Kepler thứ hai, vệ tinh đi qua viễn điểm khá chậm, làm tăng thời gian hiện diện của chúng trên các vĩ độ cao. Ưu điểm khác của các loại vệ tinh này là lượng quỹ đạo phong phú hơn nhiều so với quỹ đạo địa tĩnh.

Vận tốc ban đầu của vệ tinh có thể tính được qua hệ thức bảo toàn cơ năng:

v=\sqrt{2\left(\frac{GM}{r_0}+E\right)}.

Trên Matlab, trạng thái ban đầu của vệ tinh với quỹ đạo có chu kì, tâm sai và độ nghiêng cho trước được tính toán một cách tổng quát như sau, ví dụ cho trường hợp quỹ đạo Molnya:

T_Molnya = 11*3600+57*60+45; % Chu ki quay cua ve tinh
e = 0.73; % Tam sai
a = (G*M*T_Molnya^2/4/pi^2)^(1/3); % Ban truc lon quy dao elip
E = -G*M/2/a; % Nang luong toan phan
r0 = a*(1-e);
v0 = sqrt(2*(G*M/r0+E));
alpha = 63.4/180*pi;
r = [-r0*cos(alpha) 0 -r0*sin(alpha)];
v = [0 -v0 0];

Vết quỹ đạo (tiếng Anh: ground track, tiếng Nga: трасса орбита), tức hình chiếu của quỹ đạo vệ tinh lên bề mặt Trái đất được tìm qua giao điểm của vector bán kính toạ độ và mặt cầu bán kính R_E=6370 km:

\vec{r_{gt}}=\frac{\vec{r}}{r}R_E,

trong đó R_E – bán kính Trái đất. Nhờ theo dõi vết quỹ đạo, ta có thể phân biệt đánh giá tác dụng của mỗi loại quỹ đạo.

Video minh hoạ

Code chương trình

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

function chuyendongvetinh_3D_new
% Created by Tran Hai Cat
% 2017.10.17
clc;
clear all;
close all;

%% CONSTANTS


G = 6.67e-11; % Hang so hap dan
M = 5.97219e24; % Khoi luong Trai dat
R_earth = 6371e3; % Ban kinh Trai dat
T = 23*3600+56*60+4; % Chu ki quay quanh truc: 23 gio 56 phut 4 giay

%% INPUT DATA


phi = -105;
r = [-2*R_earth 0 0];
v = [0 -3e3 5e3];
N_orbit = 500;
N_ground_track = 500;
dt = 50;

%% Geostationary orbit (Quy dao dia tinh):


% phi = -105;
% e = 0.0; % Tam sai, e = 0 tuong ung voi quy dao tron
% a = (G*M*T^2/4/pi^2)^(1/3); % Ban truc lon quy dao elip
% E = -G*M/2/a; % Nang luong toan phan
% r0 = a*(1-e);
% r = [-r0 0 0];
% v0 = sqrt(2*(G*M/r0+E));
% alpha = 0;
% r = [-r0*cos(alpha) 0 -r0*sin(alpha)];
% v = [0 -v0 0];
% N_orbit = 1000;
% N_ground_track = 900;
% dt = 100;
%
%% Geosynchronous orbit (Quy dao dong bo)
% phi = -60;
% e = 0; % Tam sai
% a = (G*M*T^2/4/pi^2)^(1/3); % Ban truc lon quy dao elip
% E = -G*M/2/a; % Nang luong toan phan
% r0 = a*(1-e);
% v0 = sqrt(2*(G*M/r0+E));
% alpha = 63.4/180*pi;
% r = [-r0*cos(alpha) 0 -r0*sin(alpha)];
% v = [0 -v0 0];
% N_orbit = 1000;
% N_ground_track = 900;
% dt = 100;
%
%% Tundra orbit
% phi = -60;
% T_Tundra = T;
% e = 0.3; % Tam sai
% a = (G*M*T_Tundra^2/4/pi^2)^(1/3); % Ban truc lon quy dao elip
% E = -G*M/2/a; % Nang luong toan phan
% r0 = a*(1-e);
% v0 = sqrt(2*(G*M/r0+E));
% alpha = 63.4/180*pi;
% r = [-r0*cos(alpha) 0 -r0*sin(alpha)];
% v = [0 -v0 0];
% N_orbit = 1500;
% N_ground_track = 1700;
% dt = 50;
%
%% Molnya orbit
% phi = -15;
% T_Molnya = 11*3600+57*60+45;
% e = 0.73; % Tam sai
% a = (G*M*T_Molnya^2/4/pi^2)^(1/3); % Ban truc lon quy dao elip
% E = -G*M/2/a; % Nang luong toan phan
% r0 = a*(1-e);
% v0 = sqrt(2*(G*M/r0+E));
% alpha = 63.4/180*pi;
% r = [-r0*cos(alpha) 0 -r0*sin(alpha)];
% v = [0 -v0 0];
% N_orbit = 1000;
% N_ground_track = 1500;
% dt = 50;

%% Xu ly


d = 5;
t = 0;
L = 1;
dphi = 360*dt/T;
dphi_rad = 2*pi*dt/T;
cosdphi = cos(dphi_rad);
sindphi = sin(dphi_rad);

orbit_array = zeros(3,N_orbit);


orbit_array(:,end) = r/R_earth;
R_2 = sum(r.^2);
R = sqrt(R_2); ground_track = r./R;

ground_track_array = zeros(3,N_ground_track);


ground_track_array(:,end) = ground_track;

%% DRAW EARTH


load('topo.mat','topo','topomap1');

[x1,y1,z1] = sphere(50);


x1 = 1*x1;
y1 = 1*y1;
z1 = 1*z1;

props.AmbientStrength = 0.2;


props.DiffuseStrength = 0.7;
props.SpecularColorReflectance = .5;
props.SpecularExponent = 5;
props.SpecularStrength = .1;
props.FaceColor= 'texture';
props.EdgeColor = 'none';
props.FaceLighting = 'gouraud';
props.Cdata = topo;

%% FIGURE


figure('name','Sputnik','color','black','numbertitle','off');
% set(gcf,'Units','normalized');
% set(gcf,'Position',[0 0.05 1.0 1.0]);
set(gca,'color','black','xcolor','w','ycolor','w','zcolor','w')
colormap(topomap1);
hold on
fig_earth = surface(x1,y1,z1,props);
fig_light = light('position',[-1 0 0]);

hf = plot3(orbit_array(1,end),orbit_array(2,end),orbit_array(3,end),'yo','markersize',d,'markerfacecolor','y');


hf_orbit = plot3(orbit_array(1,:),orbit_array(2,:),orbit_array(3,:),'wo','markersize',1);
hf_ground_track = plot3(ground_track_array(1,:),ground_track_array(2,:),ground_track_array(3,:),'bo','markersize',1);
hf_ground_track_end = plot3(ground_track_array(1,end),ground_track_array(2,end),ground_track_array(3,end),'wo','markersize',2,'markerfacecolor','w');
ht = title(sprintf('t = %0.2f s',t),'color','w');
axis equal
axis([-inf inf -inf inf -inf inf]);
view(3);
rotate3d on

xlabel('x [R_E]','fontsize',14);


ylabel('y [R_E]','fontsize',14);
zlabel('z [R_E]','fontsize',14);

%% CALCULATION


while 1 t = t+dt;

phi = mod(phi+dphi,360);


topoc = topo(:,1:360-round(phi));
topoc = [topo(:,361-round(phi):end),topoc];

R_2 = sum(r.^2);


R = sqrt(R_2);
a = -G*M/R^3*r; v = v+a*dt; r = r+v*dt;

orbit_array(:,1:end-1) = orbit_array(:,2:end);


orbit_array(:,end) = r./R_earth; ground_track = r./R;

ground_track_array(:,1:end-1) = ground_track_array(:,2:end);


ground_track_array(:,end) = ground_track;
for i = 1:N_ground_track
x1 = ground_track_array(1,i);
y1 = ground_track_array(2,i);
ground_track_array(1,i) = x1*cosdphi-y1*sindphi;
ground_track_array(2,i) = x1*sindphi+y1*cosdphi;
end

set(fig_earth,'Cdata',topoc);


set(hf,'xdata',orbit_array(1,end),'ydata',orbit_array(2,end),'zdata',orbit_array(3,end));
set(hf_orbit,'xdata',orbit_array(1,:),'ydata',orbit_array(2,:),'zdata',orbit_array(3,:));
set(hf_ground_track,'xdata',ground_track_array(1,:),'ydata',ground_track_array(2,:),'zdata',ground_track_array(3,:));
set(hf_ground_track_end,'xdata',ground_track_array(1,end),'ydata',ground_track_array(2,end),'zdata',ground_track_array(3,end));
set(ht,'string',sprintf('t = %0.2f hours',t/3600));
pause(.01);
end

end