MATLAB: Cant see the line in the plot

plotproblem

for H=200:100:36000 %For loop created for the Height of the satellite
Gc = 398000.5 %Gravitational Constant times Earth's Mass
Re = 6371 %Radius of Earth
V = sqrt(Gc/(Re+H)) %Formula for calculating the Satellite Speed
hold on %Allows to plot multiple times on the same graph
plot(H, V,'-b') %Plot the Height with respect the Speed
end
ylabel('Orbital Speed (Km/S)'), xlabel('Height (Km)') %Labels on each axis
grid on %Grid added for easier understanding of data
My code works but i dont get the plot line when i run this..

Best Answer

Don't use plot if you are trying to plot each H vs V value. Use Scatter
for H=200:100:36000
Height(H) = H;
Gc = 398000.5; %Gravitational Constant times Earth's Mass
Re = 6371; %Radius of Earth
V = sqrt(Gc/(Re+H)); %Formula for calculating the Satellite Speed
scatter(H, V);
hold on %Allows to plot multiple times on the same graph
%Plot the Height with respect the Speed
end
ylabel('Orbital Speed (Km/S)'), xlabel('Height (Km)') %Labels on each axis
grid on
A more effifient way, and the better answer is this:
clear all;
figure;
Gc = 398000.5;
Re = 6371;
cntr = 1;
for H=200:100:36000
V(cntr) = sqrt(Gc/(Re+H))
Height(cntr) = H;
cntr = cntr + 1;
end
plot(Height,V)
ylabel('Orbital Speed (Km/S)');
xlabel('Height (Km)');
grid on;
The problem in your script is that you are plotting a single point, rather than a set of x&y values. Scatter plots a single point better.
The second bit of code is most likely what you are looking for.
Related Question