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]?
Show older comments
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 :)
Answers (2)
Walter Roberson
on 12 Sep 2013
0 votes
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 Comments
Daniel
on 12 Sep 2013
Matt Kindig
on 12 Sep 2013
Another hint: to loop over values of M, use the 'for' statement. See the examples contained in:
doc for
Daniel
on 12 Sep 2013
Duy Nguyen
on 29 Sep 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?
Youssef Khmou
on 30 Sep 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,
Categories
Find more on Time Series Events in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!