Hi. Alright so I'm VERY new to matlab and I'm trying to write a code for a project I have to do. For the code I have I keep getting this error message:
??? Error: File: guessTraj.m Line: 7 Column: 1
Function definitions are not permitted at the prompt or in scripts.
And here is my code:
target_dis=input('distance :');
function [output]= guessTraj(target_dis)
error = sqrt(target_dis);
real = isreal(error);
if real == 0 & isnumeric(target)== 0
output = 4
disp('Invalid Distance')
end
angle = input('Please enter the angle in degrees:');
radians = angle * (3.14159/180);
velocity = input('Please enter the velocity the ball is thrown:');
vel_error = sqrt(velocity);
vel_check = isreal(vel_error);
if vel_check == 0
disp('Invalid Velocity')
end
VY = velocity * sin(radians) ;
VX = velocity * cos(radians) ;
t = (2*velocity)/9.81 ;
x_dis = VX * t ;
y_dis = VY * t ;
H1 = target_dis + 2.5 ;
H2 = target_dis  2.5 ;
x = 0:x_dis/50:x_dis;
plot(x,x_dis,target_dis,0,'mo')
xlabel ('Distance the ball Traveled')
ylabel ('Height of the ball')
legend ('Trajectory of Ball', 'Location', 'SouthEastOutside')
hold on
timeVector = 0:t/50:t;
plot('b')
if x_dis <= H1 && x_dis >= H2
title('The ball hit the target')
output = 1;
disp('1. The ball hit the target!!!!!')
elseif x_dis < H1
title('The ball was underthrown')
under = target_disx_dis;
output = 2;
disp('2. The ball was underthrown')
elseif x_dis > H2
title('The ball was overthrown')
over = x_distarget_dis;
output = 3;
disp('3. The ball was overthrown')
end
Now I know that the error message is because of the target_dis=input('distance :'); because at first I didn't have this, but I was getting this error message:
??? Input argument "target_dis" is undefined.
Error in ==> guessTraj at 19
error = sqrt(target_dis);
I want the user to enter that (and by that I mean the target_dis) but I am not sure how I am supposed to have a user enter something and then use it as my function arguement. Any help would be great!
Thank you
