I am trying to plot an ellipse using a polarplot function.
16 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Falak Mandali
le 18 Sep 2021
Commenté : Star Strider
le 18 Sep 2021
I calculated the radii for every 1 degree increase in the angle from the major axis, and the calculation is right. But when I try to plot the points using a polar plot, I am getting a shaded region. I don't understand why that is happening and how to fix it. Your help is appreciated.
The following is my code:
%initialization
radius = zeros(1,361);
ta = linspace(0,360,361);
h_a = 450; %apogee height from Mars in km
e = 0.001; %eccentricity of ellipse
for i = 1:1:361 %true anamaly of the satellite as measure from the major axis of the ellipse poinint the perigee.
radius(i) = (h_a * (1 - e)) / (1 + (e .* cosd(ta(i))));
end
%plot
polarplot(ta, radius)
The following is the plot I got:
0 commentaires
Réponse acceptée
Star Strider
le 18 Sep 2021
The polarplot function requires the angular measure to be in radians.
Change that in the polarplot call and it works. (The elliptical nature can be made more apparent by temporarily increasing ‘e’ to be certain it is working as expected.)
%initialization
radius = zeros(1,361);
ta = linspace(0,360,361);
h_a = 450; %apogee height from Mars in km
e = 0.001; %eccentricity of ellipse
% e = 0.5;
for i = 1:numel(ta) %true anamaly of the satellite as measure from the major axis of the ellipse poinint the perigee.
radius(i) = (h_a * (1 - e)) / (1 + (e .* cosd(ta(i))));
end
%plot
polarplot(deg2rad(ta), radius)
.
2 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Polar Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!