MATLAB: Hey guys please i need help with this. i am trying to have this function plot a graph of (a,r). The graph should be a curve but it gives me just a point. I don’t know what i did wrong!

graph

function [r] = range_calculator(a,v)
%UNTITLED Summary of this function goes here
% Takes angle vector and an 8 value velocity vector as inputs and calculates the range,
%and plots a graph of range vector versus angle vector for each velocity.
g=9.9;
a=0:0.05:pi/2;
v=linspace(50,100,8);
for k=1:length(v)
r(k)=(v(k).^2/g).*sin(2.*a(k));
end
plot(a(k),r(k),'--r*')
grid on
title('The initial velocity is v(k)')
xticks(-0.4:0.2:1.8)
yticks(0:50:800)
xlabel('Cannon Angle')
ylabel('Range,Meters')
end

Best Answer

r = range_calculator % calling of the function
function r = range_calculator
g=9.9;
a=0:0.05:pi/2;
v=linspace(50,100,numel(a));
for k=1:length(v)
r(k)=(v(k).^2/g).*sin(2.*a(k));
end
plot(a,r,'--r*')
grid on
title('The initial velocity is v(k)')
xticks(-0.4:0.2:1.8)
yticks(0:50:800)
xlabel('Cannon Angle')
ylabel('Range,Meters')
end