Giter Site home page Giter Site logo

abdalazezahmed / oribital-mechanics-matlab Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 0.0 153 KB

Some Orbital Mechanics Matlab Codes. Heavily based on the "Orbital Mechanics for Engineers, Howard D. Curtis" book.

License: GNU General Public License v3.0

MATLAB 100.00%
orbital-mechanics orbital-simulation two-body-problem two-body-simulation orbit-determination orbit-propagation orbit-propagators ground-track matlab

oribital-mechanics-matlab's Introduction

Oribital-Mechanics-Matlab

Some Orbital Mechanics Matlab Codes. Heavily based on the "Orbital Mechanics for Engineers, Howard D. Curtis" book.

Orbit Initialization


You can initialize an Orbit in these ways depending on the available input/initial conditions:

  • $R_0$ and $V_0$
  • Orbital Elements
  • Two Line Elements (TLE)
  • Orbit Determination
    • GIBBS

You must choose the method used to solve for future epochs from:

  • Kepler Equation
  • Cowell Method

You can specify the time-span of the calculation using the dt arguement

Code Example

  • An Orbit with Orbital Elements of the starting state and Kepler Equation as the solving method:
orb1 = Orbit('OE','f(t)',r_p = 6700,r_a = 10000,...
    theta_0 = 230*pi/180, Omega_0 = 270*pi/180,i = 60*pi/180,...
    omega_0 = 45*pi/180, dt = 5.1610e5);
  • An Orbit with $R_0$ and $V_0$ of the starting state and Cowell Method as the solving method with Atmospheric Drag effect :
orb2 = Orbit('RV','Cowell',drag = true,R_0 = [-3670,-3870,4400],V_0 = [4.7,-7.4,1], dt = 5.1610e5);
  • An Orbit with Two Line Elements (TLE) of the starting state and Kepler Equation as the solving method:
orb3 = Orbit('TLE','f(t)',drag = false,tle='ISS.txt', dt =  5.1610e5);
  • An Orbit with GIBBS method used to determine the starting state and Kepler Equation as the solving method:
orb4 = Orbit('GIBBS','f(t)',R1 = [-294.32,4265.1,4265.1],...
    R2 = [ -1365.5,3637.6,6346.8],R3 = [-2940.3,2473.7, 6555.8], dt = 5.1610e4);

Solving Orbit


To solve the orbit problem call the solveOrbit() method

Code Examples

orb3 = orb3.solveOrbit();

Plotting Ground Tracks


To plot the Ground Tracks use the plot() method

For 3D tracks use plot3() method

Code Examples

For plotting Ground Tracks:

orb3.plot();

alt text

For plotting 3D tracks:

orb3.plot3();

alt text

Orbit Perturbation


This code takes in consideration J2 perturbation with optional terms being :

  • Atmospheric Drag

Progress

Todo

  • Clean the class code
  • Improve Orbit Transfer code, use the method in chapter 6, and write its Documentation

Done โœ“

  • Working code foundation (tested on the textbook's examples).

oribital-mechanics-matlab's People

Contributors

abdalazezahmed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.