MATLAB Answers

Plot the orbit of a satellite

889 views (last 30 days)
Bora K
Bora K on 9 Jan 2020
Commented: Anirudh Chhabra on 28 Jan 2021 at 11:58
Hello everyone,
I have this MATLAB function satellit(t,x,model) provides the system of differential equations for the orbit elements x = (a e i O w M) of a satellite in an Earth orbit.
I have to write a function to compute the orbit of a satellite. In this function the user should provide model initial position x(0) and flight time tf. Finally I have to plot the satellite orbit in cartesian coordinates. However I'm struggling to do it. Could anyone help me ?
function dx = satellit(t,x,model)
dx = zeros(6,1);
a = x(1); % semi-major axis [km]
e = x(2); % eccentricity
i = x(3); % inclination [rad]
O = x(4); % longitude of the ascending node [rad]
w = x(5); % argument of periapsis [rad]
M = x(6); % mean anomaly [rad]
GM = 398600.4418; % graviational parameter in km^3/s^2
R = 6378.1370; % radius at equator in km
J2 = 0.0010826267d0; % Earth's J2 (WGS-84)
J3 = -0.0000025327d0; % Earth's J3 (WGS-84)
J4 = -0.0000016196d0; % Earth's J4 (WGS-84)
ac = a*a*a;
n = sqrt(GM/ac);
Thanks in advance

  0 Comments

Sign in to comment.

Accepted Answer

Meg Noah
Meg Noah on 9 Jan 2020
Here you go. The attached scripts produce these plots for the International Space Station. You can supply your own TLE for the satellite of interest. This does not include atmospheric drag or solar impacts. Would you like that as well - the special perturbations applied over time? Or did you just need the basic Kepler COE -> Cartesian transformations?
OrbitalPlane.png
ECI.png
GroundTrack.png

  23 Comments

ali hassan
ali hassan on 22 Jan 2021
can anybody help me out?
Rik
Rik on 22 Jan 2021
https://www.mathworks.com/matlabcentral/answers/6200-tutorial-how-to-ask-a-question-on-answers-and-get-a-fast-answer
https://www.mathworks.com/matlabcentral/answers/8626-how-do-i-get-help-on-homework-questions-on-matlab-answers
Anirudh Chhabra
Anirudh Chhabra on 28 Jan 2021 at 11:58
Hi. Can someone point me in the direction as to how to shift the orbit to a different center. For example, here it is around (0,0,0). But I want it in a different location, let's say (1,1,1). How can I do that?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!