Code covered by the BSD License
-
CalcEA(M,ecc,tol)
Orbit eccentric anomaly, Kepler's equation keplers equation
-
Groundtrack(Kepler,GMSTo,Tf,f...
Orbit groundtrack plot Latitude longitude lat long
-
Hohmann(R_init,R_fin,U)
Orbit Hohmann transfer
-
JD(yr,day)
Julian Date
-
KeplerCOE(Ro,Vo,dT,U,tol)
Orbit Kepler position velocity
-
NodeChange(dO,inc,Vinit)
Node change right ascension of the ascending node RAAN raan orbit
-
R1(x)
Rotation matrix direction cosine matrix
-
R2(x)
Rotation matrix direction cosine matrix
-
R3(x)
Rotation matrix direction cosine matrix
-
RVtoLatLong(ECEF)
orbit radius velocity latitude longitude ECEF
-
TwoBody(t,X,U)
Two body Orbit gravity
-
dInc(V,dI,fpa)
Inclination change orbit gravity
-
dVdI(R_init,R_fin,Inc,U,Tol)
Inclination change velocity change orbit hohmann transfer
-
ecef2eci(ECEF, GST, V_ECEF)
Orbit ECEF ECI Coordinate conversion
-
eci2ecef(ECI, GST, V_ECI)
Orbit ECEF ECI Coordinate conversion
-
elorb(R,V,U,tol)
Kepler orbital elements ECI Position orbit conversion
-
nuFromM(M,ecc,tol)
Kepler Orbit Anomaly true mean
-
nuFromTp(Tp,ecc,n,tol)
Kepler Orbit Anomaly true time periapse perigee
-
plotorb(ECEF, V_ECEF, mu, Rbo...
Orbit gravity plot orbit spherical
-
randv(a,ecc,inc,Omega,w,nu,U)
Kepler orbital elements ECI Position orbit conversion
-
topo(ECEF, lat, long, h, Rp)
Orbit range elevation azimuth position ground station site latitude longitude
-
zeroTo360(x,unit)
Angle reduce reduction degrees radians
-
Constants.m
-
View all files
from
Orbital Mechanics Library
by Richard Rieber
A compilation of all of the functions I wrote for my orbital mechanics class
|
| NodeChange(dO,inc,Vinit)
|
%Node change right ascension of the ascending node RAAN raan orbit
% Richard Rieber
% rrieber@gmail.com
% December 18, 2006
%
% Revision 8/21/07: Added H1 line for lookfor functionality.
%
% function [dV,u_init,u_fin] = NodeChange(dO,inc,Vinit)
%
% Purpose: This function calculates the necessary dV and the initial
% and final argument of longitude for a change in the right ascension
% of the ascending node.
%
% Inputs: o dO - The needed change in the right ascension of the ascending
% node (Omega) in radians.
% o inc - The inclination (i) of the orbit in radians.
% o Vinit - The magnitude of the current velocity in km/s (or whatever
% units you like...perhaps furlongs per fortnight ^_^)
%
% Outputs: o dV - The change in velocity needed to complete the manuever in km/s.
% o u_init - The initial argument of longitude at which the burn will take place
% in radians.
% o u_fin - The argument of longitude of where the burn occurs in the final
% orbit in radians.
function [dV,u_init,u_fin] = NodeChange(dO,inc,Vinit)
if nargin ~= 3
error('Incorrect number of inputs. See help NodeChange.m')
end
% The angle between the initial and final velocity vectors in radians
Vang = acos(cos(inc)^2 + sin(inc)^2*cos(dO));
% The necessary change in velocity needed in km/s
% (or whatever units you provide as an input)
dV = 2*Vinit*sin(Vang/2);
% The initial and final argument of longitudes in radians
u_init = acos(tan(inc)*(cos(dO) - cos(Vang))/sin(Vang));
u_fin = acos(cos(inc)*sin(inc)*(1-cos(dO))/sin(Vang));
|
|
Contact us at files@mathworks.com