I found a paper [1] that has a method for computing rise and set times of a satellite given a closed form solution. It is a complicated sinusoidal function and the paper has a method to calculate a single rise set over a single period using newton rhapson method. I want to find a way to calculate all zeros over a given interval of time.
Here is the equation: $$E=\alpha-\cos^{-1}\Bigg[\frac{G+\mathbf{P}\cdot\mathbf{\bar{Z}}ae}{a\big[(\mathbf{P}\cdot\mathbf{\bar{Z}})^2+(\mathbf{Q}\cdot\mathbf{\bar{Z}})^2(1-e^2)\big]^\frac{1}{2}}\Bigg]$$
Here is a picture of one of the initial intervals of the plot
I know Newton's approach will work given a good initial guess. My first thought was to create a loop and when it finds a zero to move forward to another set, but I find it hard to believe there is not a method already developed.
I have come across ODE event detection in MATLAB, or a lot of other solutions that seem to be for polynomials but wanted to see if there were better approaches.
- RISE AND SET TIME OF A SATELLITE ABOUT AN OBLATE PLANET P. R. ESCOBAL AIAA Journal 1963 1:10, 2306-2310 DOI: 10.2514/3.2057