Matlab Projectile Motion Table and Graph

  • Context: MATLAB 
  • Thread starter Thread starter juice34
  • Start date Start date
  • Tags Tags
    Matlab
Click For Summary

Discussion Overview

The discussion revolves around a MATLAB program designed to simulate projectile motion by calculating and printing a formatted table of time, x distance, and y distance. Participants are seeking assistance with formatting output for the table and graphing the results.

Discussion Character

  • Homework-related
  • Technical explanation

Main Points Raised

  • One participant shares a MATLAB code snippet that includes calculations for projectile motion, including initial velocities, time, and range.
  • Another participant suggests that a formatted print should suffice for displaying the results.
  • A third participant humorously notes the long wait for a response, indicating a sense of urgency regarding their homework submission.
  • A later reply mentions the intention to clean up old threads, suggesting that the discussion may not be actively helpful to the original poster anymore.

Areas of Agreement / Disagreement

There is no clear consensus on the best approach to formatting the output, as participants provide similar suggestions without resolving the issue definitively.

Contextual Notes

The discussion includes some unresolved technical details regarding the formatting of the output table and the overall functionality of the MATLAB code provided.

juice34
I have a program that needs to print out a formated table of time x distance and ydistance. I got everything written except for figureing out how to print out formatted tables could somebody help me here is the code.

%Constants and initial values
g = -9.8;
conv = (pi/180);


%Get users inputs in the following order:distance,velocity,angle
try
distance = input ('Please enter the distance to your target: (meters) \n');
m = Distance <= 0;
if m == 1
disp ('::FATAL ERROR: Distance cannot be < or = to zero, goodbye')
break
end
catch ME
end


try
velocity = input ('Please enter initial velocity of the projectile: (m/s) \n');
m = velocity <= 0;
if m == 1
disp ('::FATAL ERROR: Velocity cannot be < or = to zero, goodbye')
break
end
catch ME
end

try
theta = input ('Please enter an angle (degrees) between 0 and 90: \n');
m = theta < 0 | Theta > 90;
if m == 1
disp ('::FATAL ERROR: Angle cannot be < or = to zero, goodbye')
break
end
catch ME
end

%Calculate initial x and y velocitys, time, and range
voy = velocity*sin(theta*conv);
vox = velocity*cos(theta*conv);
time = -2*(voy / g);
range = (vox*time)

%Show how far bag traveled
fprintf ('The bean bag traveled a total of %6.2f meters \n',range)

%Create masks to determine how close projectile was to target
ma = (range-2.5 <= Distance && Distance <= range+2.5);
mb = (range > Distance-2.5);
mc = (range < Distance+2.5);

%Interpret masks
if ma == 1
fprintf ('Your bag hit the target right on! GOOD AIM')
elseif mb == 1
fprintf ('so your bean bag traveled long %6.2f meters \n', abs(range - distance))
elseif mc == 1
fprintf ('so your bean bag traveled short %6.2f meters \n', abs(distance - range))
end

disp 'Please press enter to see (x,y) coordinates as a funtion of time:'
pause


%TABLE/GRAPH%

xpos = 0; %Set starting location at (x,y)=(0,0)
ypos = 0;

t=0; %Random incrementing variable(represents time).


for t=0:.1:100
t=t+1;

vy = voy + (g*t);
xpos = xpos + (vox*.1);
ypos = ypos + (voy*.1);
out = [t' xpos' ypos']

fprintf ( 'The x value is %6.2d and y value is %6.2d n\',out(t,:))

if( ypos < 0 )
break;
end
end
 
Physics news on Phys.org
A formatted print should do the trick.
 
DrClaude said:
A formatted print should do the trick.

DrClaude,

I have been waiting for this reply going on about 11 years or so! I can turn in my homework!
 
  • Haha
Likes   Reactions: DrClaude
We're doing some spring cleaning to reduce the number of old unanswered threads. Hopefully, even though this is no longer of help to you, someone else might stumble upon this thread and find it useful.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 2 ·
Replies
2
Views
8K
  • · Replies 4 ·
Replies
4
Views
7K
  • · Replies 2 ·
Replies
2
Views
3K