Find a initial guess

5 visualizaciones (últimos 30 días)
GINA
GINA el 28 de Feb. de 2014
Editada: John D'Errico el 28 de Feb. de 2014
I am extremely new in matlab and i want to find a decent initial guess theta0 for theta by using kepler's equation,
theta - e*sin(theta) = M
e = 0.2 and M = 1.032

Respuestas (1)

John D'Errico
John D'Errico el 28 de Feb. de 2014
Editada: John D'Errico el 28 de Feb. de 2014
So for a given value of e and M, you need to solve for theta.
Why do you need a good initial guess anyway? It would seem easy enough to just throw FZERO at it, so is this a homework assignment?
e = 0.2;
M = 1.032;
fun = @(theta) theta - e*sin(theta) - M;
Graphical methods are always a good idea. That plot should point out something obvious, i.e., that for e < 1, there is a unique solution, and that almost any scheme will work.
fzero(fun,0)
ans =
1.2198
So again, why make more work for yourself than you need? Oh, yeah, this is homework. 0 is a good initial guess.
I suppose if you insist, as long as e is less than 1, you can approximate the function as
theta = M
Essentially, it is dominated by the linear term. So a good initial guess for theta is just M.
If e > 1, then there are potentially multiple solutions. But even then, theta=M is as good as any other initial guess, and it is trivial to find.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by