I'm working on a program that calculates the orbital parameters of orbital bodies, and have run into an issue:

I'm looking up and comparing my programming results with the orbital parameters of Earth and the Sun, and realised that different equations seem to give me different results:

To elaborate, take the following parameters:

rmin or Periapsis: 147.09 x10^9 metres
rmax or Apoapsis: 152.10 x10^9 metres
ε or Eccentricity: 0.0167

a or Semi-major axis: 149.60 x10^9 metres

If I apply the following equation from here to obtain the Semi-minor axis, or b:

$$b = a\sqrt{1 - \epsilon^{2}}$$

I receive the following value:
149600000000 * sqrt(1 - (0.0167^2)) = 149579137573 (On Google calculator)

However if I obtain the Semi-minor axis using the Semi-latus rectum, or p from here:

$$ b = \frac{p}{\sqrt{1 - \epsilon^{2}}} $$

I obtain the following value:
149548054813 / sqrt(1 - (0.0167^2)) = 149568912904

When we look at the difference between these two numbers, there is a highly noticeable difference of 10224670 between them! I know this is based from Earths approximated orbital values, which we don't know the true values for, (I grabbed them from here)

My question is, which of these two equations are more accurate, WHY??, and are there any other equations that find the Semi-minor axis, also explaining the accuracy of them.

I saw the same thing for a few of the other properties (I think it was Semi-major) and I ended up with bizarre differences. I am calculating this right (according to the page) but seem to be getting huge error margins. Any ideas?


I obtained the Semi-latus rectum, or p using the equation from here:

$$ p = \frac{r_{min} \cdot r_{max}}{a} $$

(152100000000 * 147090000000) / 149600000000 = 149548054813

Please bare in mind, I'm only in Year 11, so I may not understand everything you throw at me, also acknowledging that this is a pretty massive task for me to undertake to begin with; this also isn't any form of homework (thankgod), I'm doing this under my own taking.

  • $\begingroup$ use $$ p = \frac{{{b^2}}}{a} $$ to check your value for p I think rmin and rmax are probably inaccurate... $\endgroup$
    – Brad S
    Commented May 19, 2017 at 12:54
  • $\begingroup$ Thankyou @BradS, will do! Any reason why exactly? $\endgroup$
    – user156610
    Commented May 19, 2017 at 12:57
  • $\begingroup$ no, actually I'm trying to figure that out right now myself. I thought it was a matter of significant digits but now I'm not so sure. $\endgroup$
    – Brad S
    Commented May 19, 2017 at 13:05
  • $\begingroup$ @BradS Well thankyou for the help. I have absolutely NO idea at all, this is the question! $\endgroup$
    – user156610
    Commented May 19, 2017 at 13:12
  • $\begingroup$ I'd strongly recommend to start using scientific notation. In your first calculation $b_1 = 149579137573 = 1.49579 \times 10^{11} m$, in your second calculation, $b_2 = 149568912904 = 1.49569 \times 10^{11} m$, this better highlights that the difference in one part in $10^5$, or about $0.001%$. This may still be important (i.e. show an error), but it's a better way to think about things! $\endgroup$ Commented May 19, 2017 at 13:54

2 Answers 2


When you are given a number with only 3 significant figures (eccentricity of 0.0167 - only the 1, 6 and 7 are "significant") then you know the number is not 0.0168 or 0.0166 -- and that gives you an approximate range of accuracy you can expect.

Each of your methods gives you $1.496 \times 10^9 ~\rm{m}$ - accurate to 4 significant digits. That's better than you should expect.

The accuracy of your result is only ever as good as the accuracy of the inputs. Some of the data you have is given to 5 significant digits - that will give you the "more accurate" results.

I recommend that you learn about error propagation. There are millions of resources online for this - a relatively basic introduction can be found here

  • $\begingroup$ Sorry for the late reply! I have been really busy with the project and school. I actually totally forgot about error propagation and simply kept the numbers intact without thinking! $\endgroup$
    – user156610
    Commented May 30, 2017 at 9:01

$a = 149598023$

$e = 0.0167086$

$p = a(1-e^2)$

$p = a(0.99972082268604) = 149,556,258.62576513369892$

$b = \frac{p}{ \sqrt{1-e^2}}$

$ = \frac{p} {0.99986040159916324190990908617052}$

$ = 149,577,139.35522085944399314340085$

$b = \sqrt{p*a}$ = 149,577,139.35522085944399314340085

$pa = rmax * rmin$

$22,373,320,617,691,160.86368910923516 = rmax * rmin$

$rmax = \frac{p}{(1-e)} = \frac{p}{0.9832914} =152,097,596.5270978$

$rmin = \frac{p}{(1+e)} = \frac{p}{1.0167086} =147,098,449.4729022$

$152,097,596.5270978 * 147,098,449.4729022 = 22,373,320,617,691,160.86368910923516$

  • 1
    $\begingroup$ So many insignificant digits... this is not helping. $\endgroup$
    – Floris
    Commented May 19, 2017 at 14:42
  • $\begingroup$ All digits are significant to me. $\endgroup$
    – Brad S
    Commented May 19, 2017 at 14:44
  • $\begingroup$ Also, I was showing him/her that the equations are accurate if you use enough digits. This was per our conversation in the comments. This comment was too large to be a comment so I put it as an answer but it is not expected to be an answer. $\endgroup$
    – Brad S
    Commented May 19, 2017 at 17:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.