File Exchange

image thumbnail

SAT-LAB: A MATLAB GUI for simulating Keplerian orbits

version (13.5 MB) by Dimitrios Piretzidis
Graphical User Interface (GUI) for simulating and visualizing Keplerian satellite orbits.


Updated 18 Dec 2020

View Version History

View License

SAT-LAB is a MATLAB-based Graphical User Interface (GUI), developed for simulating and visualizing satellite orbits. The primary purpose of SAT-LAB is to provide a software with a user-friendly interface that can be used for both academic and scientific purposes. The calculation of the satellite state vector (position and velocity) is done using a Keplerian propagator. After selecting the six Keplerian elements, the computation and visualization of the satellite orbit is performed simultaneously and in real time. Both the satellite orbit and the state vector at each epoch are given in two reference frames, i.e., the Inertial Reference Frame (IRF) and the Earth-Fixed Reference Frame (EFRF). For the EFRF, both the 3D Cartesian coordinates and the ground tracks of the orbit are provided. Other visualization options include selecting the appearance of the coastline, topography/bathymetry, satellite orbit, position, velocity and radial distance, and IRF and EFRF axes. SAT-LAB is also capable of visualizing orbits of operational satellites and real-time tracking of their position. Just run the file satlab.m. For more information, please visit the following website:

Cite As

Piretzidis D and Sideris MG (2017): SAT-LAB: A MATLAB Graphical User Interface for simulating and visualizing Keplerian satellite orbits. Poster presented at the EGU General Assembly 2017, 23 - 28 April 2017, Vienna, Austria. doi:10.13140/RG.2.2.31977.29288

Comments and Ratings (16)

Dimitrios Piretzidis

Dear Zhang, it is possible to modify the plots to some extent and add your own data. Or export parameters (e.g., 3D satellite orbit) and use them in your own scripts. Please, send me an e-mail so I can give you more details.

Zhang Zhenxia

This is brilliant work. It helps me visualize the satellite orbit.
However, I want to display the track of a satellite, some stations on the Earth, and geomagnetic force lines, of course, in 3D. I think it is a huge project to modify your code


Had to fix a few things to run on MacOS, but all-in-all a very useful toolset. Thanks for the quick response too.

Dimitrios Piretzidis

Hello Kirk, I updated the software. The coast.mat file is now included in the "\Main directory\Data" folder.


Line 114 in satlab.m is, "load('coast.mat')". There is no "coast.mat" file in the mapping toolbox or in the satlab directories.

Dimitrios Piretzidis

Hello KiranKumar Makam, unfortunately you cannot visualize the orbits of more than one satellite in the same figure.

KiranKumar Makam

That is a great task done but if I want to plot two objects is it possible?

shayan mohajer

Abdulbaset Eljubrani

anusha singh

Edward Lee

Dimitrios Piretzidis

Hello JCHebert, MATLAB cannot find the variable 'long', which is saved in the 'coast.mat' file. This file is part of MATLAB's mapping toolbox, so I am guessing that you do not have the mapping toolbox installed.


I get this error when I try run satlab.

>> satlab
Undefined function or variable 'long'.

Error in satlab>satlab_OpeningFcn (line 330)
long(long < 0) = long(long < 0) +

Error in gui_mainfcn (line 220)
feval(gui_State.gui_OpeningFcn, gui_hFigure, [],
guidata(gui_hFigure), varargin{:});

Error in satlab (line 42)
gui_mainfcn(gui_State, varargin{:});

What am I doing wrong?

King Reno

Dimitrios Piretzidis

Thank you for noticing that Chris. The mapping toolbox is now added as a required product.


Need to state that the mapping toolbox is required. I was unable to run this...

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!