creating a function to find horizontal distance given initial velocity and initial angle.

2 views (last 30 days)
Im trying to create a function that will allow for an input variable of the initial velocity, v and the initial angle, a; that comes up with the output of the horizontal distance once the object gets back to the starting y position.
so far I have
v = input('enter cannon ball exit velocity(m/s):'); %input of the exit velocity of the cannon in m/s a = input('enter cannon ball exit angle from horizon(degrees):'); %input of the exit angle from the horizon of the cannon ball in degrees
function [x]=cannon(v,a) g = -9.8; %gravitaitional constant in m/s^2 t = (2*(v*sin(a)))/g; %equation for the time until cannon hits the ground at the inpact location x = (v*cos(a))*t %equation for the horizontal distance where the cannon hits the ground at the impact location end

Answers (1)

Adam Danz
Adam Danz on 7 Aug 2018
It's not clear whether your question is related to code or concept. Concerning the code, you pretty much already have it written. I filled in some lines and reformatted it so that your function is called after the inputs are collected and it produces an output printed in the command window.
v = input('enter cannon ball exit velocity(m/s):'); %input of the exit velocity of the cannon in m/s
a = input('enter cannon ball exit angle from horizon(degrees):'); %input of the exit angle from the horizon of the cannon ball in degrees
x = cannon(v,a);
fprintf('The horizontal displacement is %.2f.\n', x)
function x = cannon(v,a)
g = -9.8; %gravitaitional constant in m/s^2
t = (2*(v*sin(a)))/g; %equation for the time until cannon hits the ground at the inpact location
x = (v*cos(a))*t %equation for the horizontal distance where the cannon hits the ground at the impact location end
end
I haven't looked at the code conceptually.

Categories

Find more on Software Development Tools 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!