Perturbing Accelerations in Satellite Orbit Determination

Hi, first time posting here.
I'm working on satellite orbit determination and wish to add in perturbing accelearations in addition to the earth's graviatational field. I will be adding in acceleration due to the moon, sun, atmospheric drag, etc... The acceleration due to the earth's graviational field at the specefic satellite altitude is about 7 m/s and the acceleration from the sun, for example is on the order of 10^-7 m/s. I have an initial state vector, I would like to incorporate these accelerations and produce a state vector at a later time. I am working in matlab and having difficulties mainly with units and integration. A short example of matlab code would be handy. Right now I am getting an ever increasing velocity and this is happening because I am doing the integration as if it were a linera problem. How to integrate so that it is orbital. Thanks!

David Vallado's "Fundamentals of Astrodynamics and Applications" talks about orbital perturbations. While a lot of the book does have software available, the book doesn't have a lot of coded algorithms for perturbations. What it does have is available in Fortran, Pascal, or C.

By the way, I'm curious how you came up with acceleration from the Sun being around 10^-7 m/sec^2. It should be around 6 x 10^-3 m/sec^2 (plus or minus .005% depending on where you're at in your orbit).

You're almost high enough to disregard atmospheric drag (you have density around the 10^-15 kg/m^3 range) and that's good. You can't model atmospheric drag very well when it varies so much - especially between solar min and solar max. You'd need to creat a user input variable that they obtain from NOAA or some other space weather agency (they'll actually get values for the last few days, but can use that to guess the current or future value).

The most efficient way of propagating your initial state vectors into the future is to reduce as many perturbations as possible to algebraic equations that reflect long period or secular perturbations, while disregarding the perturbations that cycle over short periods of time (for example, the Earth's oblateness would increase the orbit's inclination as the satellite approached the equator from either pole, but it would decrease it at exactly the same rate when the satellite is approaching its max latitude from the equator; but, in doing so, the Earth's oblateness would the shift the right ascension of the ascending node the same direction regardless of the satellite's position in the orbit).

That's not the most accurate way. Two line mean element sets are accurate enough to find a satellite since even seemingly large errors turn into small angles when the distance is hundreds to thousands of kilometers. If you're looking for precision, such as what's needed for GPS, then try the numerical solutions in Vallado as a starting point.