Plotting E - e*sin[E] = M as E vs M, when given e as 5 different values [0 0.25 0.5 0.75 1]?

9 visualizaciones (últimos 30 días)
For a question in my homework , we are suppose to first find the fzeros of this function of E when given any values of e, and M. I already figured this out by the following:
function [ E,z ] = kepler( e,M )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
f=@(E) E-e*sin(E)-M;
z=fzero(f,0)
But I cannot for the life or me figure out how I would plot this E vs M when only given a value of e. If anyone can help me out that would be greatly appreciated :)

Respuestas (2)

Walter Roberson
Walter Roberson el 12 de Sept. de 2013
The usual way: loop over all the potential values of M for a fixed e, recording the outcome each time. Plot the potential values of M on one axis, and the recorded E values on another axis.
hint: ndgrid(), arrayfun(), and surf()
  4 comentarios
Daniel
Daniel el 12 de Sept. de 2013
Also they have to be shown as five different curves on the same graph, but I know if you plotted each separately for e value given then E vs M and use "Hold on" command that would work.
Duy Nguyen
Duy Nguyen el 29 de Sept. de 2013
I have the same problems too, how can you graph E vs. M for e of values [0 0.25 0.5 0.75 1] with 5 curves in 1 figure?

Iniciar sesión para comentar.


Youssef  Khmou
Youssef Khmou el 30 de Sept. de 2013
Daniel, i find this issue not clear at all, besides you have to to give some Physical explanations about the constants, M as mean anomaly ,e as eccentricity :
function [ E] = kepler( e,M )
f=@(E) E-e*sin(E)-M;
E=fzero(f,0);
------------------------------
M=(0:0.01:6);
N=length(M);
e=[0 0.25 0.5 0.75 1];
n=length(e);
for x=1:N
for y=1:n
E(x,y)=kepler(e(y),M(x));
end
end
figure, plot(M,E), grid on,

Categorías

Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by