SlideShare a Scribd company logo
1 of 16
For any help regarding Mechanical Engineering Assignment Help
Visit :- https://www.matlabassignmentexperts.com/,
Email :- info@matlabassignmentexperts.com or
call us at :- +1 678 648 4277 matlabassignmentexperts.com
All m-files that you create in this homework should have enough comments of your codes (brief explanations),
and should be submitted to the MIT Server class site.
Problem 1 : Calculate the trajectory of a ball dropping and bouncing without no drag force
A ball starts to drop from a height of 1 meter. Only vertical motion is considered. When the ball hits on the
ground, it re-bounces with coefficient of restitution (COR) e  0.8 . The only force
acting on the ball is a gravitational force, and the equation of motion with the initial conditions can be expressed as
below:
& &
at h(t) 
d
2
ht  g,
dt2 &
h01,  0 h0 0
Write an m-file (ball3_your_kerberos_name.m) to numerically (without integrating the equation of
motion) simulate the trajectory of the ball until ball hits on the ground three times.
Plot the trajectory of the ball ht in time.
Note: In order to simulate the trajectory of the ball, Euler forward method is introduced.
xt  t xt x
&
tt
or
xtn1  xtn  x
&
tn t
x
&
t  t x
&
t &
x
&
tt
&
& x
&
tn1  x
&
tn  &
x
&
tn t wheret  tn1  tn
Simulate the motion of the ball with t  0.01sec
Problem 2 : Calculate the trajectory of a ball dropping and bouncing with Stokes’drag
Problems
matlabassignmentexperts.com
We assume that the velocity of the ball dropping and bouncing is low enough, and introduce Stokes’ drag which
resists movement of the ball, and linearly proportional to speed. The equation of motion can be expressed as
below: 2 &
&
at h(t) 
d
2
ht & &
 g bht g bvt, h01, v0 h,   0
dt
write an m-file (ball3stokes_your_kerberos_name.m) with b  0.8 to numerically (without
integrating the equation of motion) simulate the trajectory of the ball until ball hits on
the ground three times. Plot the trajectory of the ball
ht in time.
Problem 3 : Calculate the trajectory of a ball dropping and bouncing with quadratic drag
Consider the case where the drag is quadratic to velocity instead. The equation of motion can be expressed as
below:
2
&
at h(t) 
d
2
ht  g ch
&
th
&
t  g cvtvt
dt
&
h01, v0 h
&
0 0
Write an m-file(ball3quadratic_your_kerberos_name.m) with c  0.5 to
numerically (without integrating the equation of motion) simulate the trajectory of the ball until
ball hits on the ground three times. Plot the trajectory of the ball
ht
in time.
Problem 4 : Calculate a more accurate trajectory of the ball with a given spatial resolution (Bonus, very
difficult)
Go back to Problem 3.1. The result shows ball bounces when it is not exactly at the ground (either above or
below) due to the finite precision of our numerical simulation. We will look to
how to get a better simulation for the motion of the ball. We can take smaller time step size t and that will
definitely produce accurate trajectory (try). However, it requires much more computation to do simulation with
smaller t . Therefore, we introduce adaptive time step size
especially in the region close to the ground. Write an m-file
(ball3spatial_your_kerberos_name.m) to simulate the motion of the ball that
htb   0.01 where tb : is the time when the ball bounces. (Hint:
What we meant by
satisfies
matlabassignmentexperts.com
adapative time step size is the following. Modify the algorithm when the ball bounces. If you
find that the ball goes below ground and h tb   0.01 is not satisfied, take the ball back one
time step and then reinitiate Euler procedure with a smaller time interval (say 1
t ). Then try
2
again in that region. Repeat this procedure until you can satisfy the criterion. Discuss it with TA)
matlabassignmentexperts.com
Problem 1 : Calculate the trajectory of a ball dropping and bouncing without no drag force
First, the function can be defined as below. No input argument and two output arguments (time
‘t’ and trajectory ‘h’)
function [t,h]=ball3
%
% Problem 3.1 Trajectory of the ball dropping and bouncing
% until the ball hits 3 times on the ground
% Second, you should define some constants used in simulation: gravity, time step size, coefficients of restitution, and
whatever you need.
% Define constants
g=9.81; % gravity (m/sec^2)
dt=0.01; % time step[temporal resolution] (sec) H=1;
% initial height when ball start dropping COR=0.8;
% coefficient of restitution
Third, variables you used in the simulation are declared such as the height, velocity and so on, but it is not really
required. (Variable declarations in MATLAB are more flexible than any other languages.)
% Initialize numerical simulation variables (It is not required)
t=[]; % time (sec)
h=[]; % height of the ball (m)
v=[]; % velocity of the ball (m/sec)
matlabassignmentexperts.com
Solutions
Fourth, the initial conditions for solving differential equations of the ball dropping and bouncing should be assigned
to the initialized variables above. For example, the first element in the matrix which stores height information has
initial height when the ball starts dropping. (like h(1)=1;)
% Assign initial conditions
t(1)=0; % t0=0
h(1)=H; % h(t0=0)=H=1m
v(1)=0; % v(t0=0)=0 (no initial velocity)
a=-g; % a=-g, and always constant
Following diagram gives better understanding for relationship between the matrix defined in MATLAB, and the function
or the variable symbolized in mathematics. Note that index of matrices should be always a positive integer. Therefore,
how to translate symbolic expression into MATLAB language will be explained later.
indicates single
element of the
given matrix
v(dt) v(2dt)
v v(0)
h h(0)
h(1)
h(dt) h(2dt) h(n×dt)
h(2) h(3) h(n)
v(1)
v(n×dt)
v(2) v(3) v(n)
t
t(1) t(2) t(3) t(n)
0 dt 2dt n×dt
indicates symbolic
expression of functions
or variables
Fifth, we define the index variable to indicate current position in the matrices. It is used for indicating the relative
position to current position, or for moving current position to calculate next height of the ball bouncing.
matlabassignmentexperts.com
% set index number i to 1 (initial condition for i=1)
i=1;
Sixth, we should run the MATLAB codes for solving differential equations until ball hits on the ground. In each bounce,
new initial conditions are given to MATLAB, and it then runs same codes again for solving differential equation. So, we
repeat the MATLAB codes up to 3th bounce, which means MATLAB codes for solving differential equations and
providing new initial conditions are repeated three times. Therefore, we first use ‘for’ loop since we already know how
many loops we need to calculate ball trajectory up to 3th bounce.
% repeat calculating velocity and height of the ball
% until the ball hits 3 times on the ground for
nbounce=1:3
Seventh, in the ‘for’ loop, the routine to solve differential equation numerically should be inserted. Only one second
derivative of the motion equation associated with the gravity is given in the problem 3.1. It is a little complicated to
solve the second order differential equation directly, but one second order differential equation can be separated into
two first order differential equations as below:
2  g   v &  g
d h
dt2
dh
dt
dv
dt
Based on Euler method, the first differential equations can be converted to the discrete difference equation as follow:
vt  
dt dt t
dh ht  t  htht  t  ht 
t  tt t
vtt  ht  t htht  t ht vtt
Note that we assume t is small enough to accept numerical errors which happen during the numerical simulation. In
the same way, the second differential equation can be also translated.
matlabassignmentexperts.com
g  dv

vt  tvt 
vt  tvt
dt dt t t  tt t
gt  vt  tvtvt  t vt gt
Now, we should describe MATLAB version of difference equations, based on the difference equations and relationship between symbolic
expression and MATLAB language.

ht  t ht vtt 
hn+1=hn+vn*dt
 
 vt  t vt gt  vn+1=vn-g*dt

t  dt, t  n*dt, t  t  n+1*dt
Where ht hn, ht  t hn+1
vt vn, vt  t vn+1
By increasing index number (i=i+1), we can calculate the height of the ball bouncing until the ball hits on the ground.
However, how many loops we need before ball bouncing is not known. (Even though we calculate it mathematically,
computer cannot do.) Therefore, ‘while’ is used to calculate every heights of the ball with the given time step as long
as the ball hits on the ground, or the calculated height of the ball is still either positive or zero. If the height of the ball we
calculated is negative number, ‘while’ loop is terminated since negative height of the ball doesn’t make sense physically.
% if current height h(i) has negative number, terminate 'while' loop
% (it does not physically make sense.) while h(i)>=0
% calculate time for given index number t(i+1)=t(i)+dt;
% calculate velocity of the ball at given time t(i+1)
v(i+1)=v(i)+a*dt;
% calculate height of the ball at given time t(i+1)
h(i+1)=h(i)+v(i)*dt;
% index 'i' increases by 1 to calculate next height i=i+1;
end
Eighth, we are supposed to give new initial conditions when the ball bounces. First, we eliminate
matlabassignmentexperts.com
the last height we obtained since it has negative value. That’s why the index number should go one step back (i=i-1).
Then, we assume that this current position is approximately where the ball is bounced. We observe how much the new
ball’s velocity is changed, compared with the ball’s velocity before the ball bouncing. The coefficient of restitution
(COR) is given in the homework, and the definition of the COR is as below:
CR v  v
1b 2b

v2 a v1a
where
v1b : Velocity of the first object before impact
v1a : Velocity of the first object after impact
v2b : Velocity of the second object before impact
v2a : Velocity of the second object after impact
In the case of ball bouncing, v2b  v2a  0 (for the ground), and v1a  ev1b , e  0 (for the ball),
since the second object (ground) is not moving and the direction of the first object (ball) velocity is opposite after ball
bouncing. The relation between the velocities of the ball both before and after the impact is
C  v2a v1a
 0ev1b  0.8  ev  C v
 e  CR  0.8
R 1b R 1b
v  v
1b 2b 1bv  0
Therefore, new ball’s velocity has opposite sign of old ball’s velocity, and is reduced by the ratio of COR. Last ‘end’
command makes program go back to ‘for’ loop, and run 3 times.
matlabassignmentexperts.com
% delete current height related values and
% go back to the last height by decreasing i by 1
% (The last position where the ball is above the ground) t(i)=[];
v(i)=[]; h(i)=[];
i=i-1;
% Assume that the ball bounce slightly above the ground,
% the initial velocity of the ball after bouncing is calculated with
% the final velocity of the ball before bouncing
% and coefficient of restitution v(i)=-COR*v(i);
% index 'i' increases by 1 to calculate next height
% with new condition after the ball bouncing.
end
Trajectory plot for the ball bouncing is shown in the end of Problem 3.3 solution.
Problem 2 : Calculate the trajectory of a ball dropping and bouncing with Stokes’ drag In this problem, all
the codes you developed in the previous problem are used here except for the acceleration part. In problem 3.1, the
acceleration is only gravity, and constant everywhere. However, the new drag called Stoke’s drag is introduced in
this problem, and it should be plugged into acceleration calculation.
at g bvt ant g bvnt an=-g-b*vn
matlabassignmentexperts.com
% if current height h(i) has negative number, terminate 'while' loop
% (it does not physically make sense.) while h(i)>=0
% calculate time for given index number
t(i+1)=t(i)+dt;
% calculate acceleration of the ball at given time t(i+1)
a(i+1)=-g-b*v(i);
% calculate velocity of the ball at given time t(i+1)
v(i+1)=v(i)+a(i)*dt;
% calculate height of the ball at given time t(i+1)
h(i+1)=h(i)+v(i)*dt;
% index 'i' increases by 1 to calculate next height i=i+1;
end
In addition, initial condition for the acceleration should be also considered.
a0 g bv0 a1=-g-b*v1
% Assign initial conditions
t(1)=0; % t0=0
h(1)=H; % h(t0=0)=H=1m
matlabassignmentexperts.com
v(1)=0; % v(t0=0)=0 (no initial velocity)
a(1)=-g-b*v(1); % a(t0=0)=-g-bv(t0=0)
In the section of defining constants, Stokes’drag coefficient is also defined as below.
% Define constants
b=0.8; % constant for acceleration induced by stokes' drag (1/sec)
Trajectory plot for the ball bouncing is shown in the end of Problem 3.3 solution.
Problem 3 : Calculate the trajectory of a ball dropping and bouncing with quadratic drag
In the same way, the ball bouncing with quadratic drag can be also calculated by modifying the codes for calculating
the acceleration and adding the initial condition of the ball bouncing in problem 3.2
at g vtvt  ant g vntvnt
% if current height h(i) has negative number, terminate 'while' loop
% (it does not physically make sense.) while h(i)>=0
% calculate time for given index number t(i+1)=t(i)+dt;
% calculate acceleration of the ball at given time t(i+1) a(i+1)=-g-
c*v(i)*abs(v(i));
% calculate velocity of the ball at given time t(i+1)
v(i+1)=v(i)+a(i)*dt;
% calculate height of the ball at given time t(i+1)
h(i+1)=h(i)+v(i)*dt;
% index 'i' increases by 1 to calculate next height i=i+1;
end
a0 g cv0v0  a 1=-g-c*v1*absv1
% Assign initial conditions
matlabassignmentexperts.com
t(1)=0;
h(1)=H;
v(1)=0;
% t0=0
% h(t0=0)=H=1m
% v(t0=0)=0 (no initial velocity)
a(1)=-g-c*v(1)*abs(v(1)); % a(t0=0)=-g-cv(t0=0)|(v(t0=0)|
In the section of defining constants, quadratic drag coefficient is also defined as below.
% Define constants
c=0.5; % constant for acceleration induced by quadratic drag (1/m)
All the plots for the ball bouncing in problem 3.1-3.3 are generated. Following codes are for plotting three trajectories
of the ball bouncing with different drag conditions.
>> [t1,h1]=ball3;
>> [t2,h2]=ball3stokes;
>> [t3,h3]=ball3quadratic;
>> plot(t1,h1,'r',t2,h2,’b’,t3,h3,'g');
>> grid on;
>> legend('bfNo drag','bfStokes'' drag','bfQuadratic drag');
>> xlabel('bfTime (sec)');
>> ylabel('bfHeight (m)');
>> title('bfTrajectories of the Ball Bouncing');
matlabassignmentexperts.com
Trajectories of the Ball Bouncing
0 0.2 0.4 0.6 1.2 1.4 1.6 1.8
0.8 1
Time (sec)
0
No drag Stokes' drag Quadratic drag
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
Height
(m)
Problem 4 : Calculate more accurate bouncing time of the ball with given spatial resolution
Go back to the solution in problem 3.1. What we are interested in is the part of determining the bouncing time within the
given tolerance (or spatial resolution) by changing step size. Following algorithm describes how to find the step size to
satisfy the spatial resolution criterion.
1. Current index number is set to the last one. (i=i-1)
2. Define new variable of the step size as ‘dtt’, and set it to the same value of ‘dt’
3. Check if the next height is positive and greater than the given time resolution, the next time is set to the ball bouncing
time, and the next velocity becomes the final velocity before the ball hits on the ground.
4. If the next height is negative, the current step size decreases by the factor of 2 (0.5dtt). Otherwise, the current step
size is increases by the factor of 1.5 (1.5dtt).
ht ht 
dtt  dtt *1 0.5
 
matlabassignmentexperts.com
5. Calculate the next height with new time step ‘dtt’ .
6. Go back to Step 3.
The above algorithm is implemented by MATLAB, and shown as below:
% go back to the last height by decreasing i by 1
% (The last position where the ball is above the ground) i=i-1;
% define new time step (adaptive time step) dtt=dt;
% if h(t) satisfies spatial resolution condition,
% terminate 'while' loop. while h(i+1)>0.001 ||
h(i+1)<0
dtt=dtt+dtt/2*sign(h(i+1));
% calculate time for given couter number t(i+1)=t(i)+dtt;
% recalculate velocity of the ball v(i+1)=v(i)+a*dtt;
% recalculate the height of ball
h(i+1)=h(i)+v(i)*dtt;
end
% index 'i' increases by 1 with accepting new height
% with given spatial resolution i=i+1;
% Assume that the ball bounces on the ground,
% the initial velocity of the ball after bouncing is calculated with
% the final velocity of the ball before bouncing
% and coefficient of resititution v(i)=-COR*v(i);
% go back to calculate next height
matlabassignmentexperts.com
The following codes and plot is for generating trajectory of the ball bouncing with the enough spatial resolution.
>> [t,h]=ball3spatial; plot(t,h);
>> grid on;
>> xlabel('bfTime (sec)');
>> ylabel('bfHeight (m)');
>> title( ...
'bfTrajectories of the Ball Bouncing with Given Spatial
Resolution');
Height
(m)
Trajectories of the Ball Bouncing with Given Spatial Resolution
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time (sec)
matlabassignmentexperts.com

More Related Content

What's hot (20)

Matlab Assignment Help
Matlab Assignment HelpMatlab Assignment Help
Matlab Assignment Help
 
Algorithm Homework Help
Algorithm Homework HelpAlgorithm Homework Help
Algorithm Homework Help
 
Computer Science Assignment Help
Computer Science Assignment Help Computer Science Assignment Help
Computer Science Assignment Help
 
Signal Processing Homework Help
Signal Processing Homework HelpSignal Processing Homework Help
Signal Processing Homework Help
 
Control System Homework Help
Control System Homework HelpControl System Homework Help
Control System Homework Help
 
Signal Processing Assignment Help
Signal Processing Assignment HelpSignal Processing Assignment Help
Signal Processing Assignment Help
 
Data Analysis Homework Help
Data Analysis Homework HelpData Analysis Homework Help
Data Analysis Homework Help
 
Signals and systems assignment help
Signals and systems assignment helpSignals and systems assignment help
Signals and systems assignment help
 
Statistics Assignment Help
Statistics Assignment HelpStatistics Assignment Help
Statistics Assignment Help
 
Solution 3.
Solution 3.Solution 3.
Solution 3.
 
Numerical Methods
Numerical MethodsNumerical Methods
Numerical Methods
 
Electrical Engineering Assignment Help
Electrical Engineering Assignment HelpElectrical Engineering Assignment Help
Electrical Engineering Assignment Help
 
Stochastic Processes Homework Help
Stochastic Processes Homework Help Stochastic Processes Homework Help
Stochastic Processes Homework Help
 
Computation Assignment Help
Computation Assignment Help Computation Assignment Help
Computation Assignment Help
 
algorithm Unit 4
algorithm Unit 4 algorithm Unit 4
algorithm Unit 4
 
Answers withexplanations
Answers withexplanationsAnswers withexplanations
Answers withexplanations
 
Diffusion Homework Help
Diffusion Homework HelpDiffusion Homework Help
Diffusion Homework Help
 
Matlab Assignment Help
Matlab Assignment HelpMatlab Assignment Help
Matlab Assignment Help
 
Ee693 questionshomework
Ee693 questionshomeworkEe693 questionshomework
Ee693 questionshomework
 
algorithm unit 1
algorithm unit 1algorithm unit 1
algorithm unit 1
 

Similar to Machnical Engineering Assignment Help

CS229 Machine Learning Lecture Notes
CS229 Machine Learning Lecture NotesCS229 Machine Learning Lecture Notes
CS229 Machine Learning Lecture NotesEric Conner
 
Ph2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docx
Ph2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docxPh2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docx
Ph2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docxkarlhennesey
 
CALIFORNIA STATE UNIVERSITY, NORTHRIDGEMECHANICAL ENGINEERIN.docx
CALIFORNIA STATE UNIVERSITY, NORTHRIDGEMECHANICAL ENGINEERIN.docxCALIFORNIA STATE UNIVERSITY, NORTHRIDGEMECHANICAL ENGINEERIN.docx
CALIFORNIA STATE UNIVERSITY, NORTHRIDGEMECHANICAL ENGINEERIN.docxRAHUL126667
 
Mathematical blog #1
Mathematical blog #1Mathematical blog #1
Mathematical blog #1Steven Pauly
 
Circular (trigonometric) applications
Circular (trigonometric) applicationsCircular (trigonometric) applications
Circular (trigonometric) applicationsnorrisis
 
1. (5 pts) Which of these graphs represent a one-to-one function .docx
1. (5 pts) Which of these graphs represent a one-to-one function .docx1. (5 pts) Which of these graphs represent a one-to-one function .docx
1. (5 pts) Which of these graphs represent a one-to-one function .docxlindorffgarrik
 
Carry save addition
Carry save additionCarry save addition
Carry save additionMICKYJINDAL
 
Machine learning (1)
Machine learning (1)Machine learning (1)
Machine learning (1)NYversity
 
Projectile motion
Projectile motionProjectile motion
Projectile motiongngr0810
 
Projectile motion
Projectile motionProjectile motion
Projectile motiongngr0810
 
SAMPLE QUESTIONExercise 1 Consider the functionf (x,C).docx
SAMPLE QUESTIONExercise 1 Consider the functionf (x,C).docxSAMPLE QUESTIONExercise 1 Consider the functionf (x,C).docx
SAMPLE QUESTIONExercise 1 Consider the functionf (x,C).docxanhlodge
 

Similar to Machnical Engineering Assignment Help (20)

CS229 Machine Learning Lecture Notes
CS229 Machine Learning Lecture NotesCS229 Machine Learning Lecture Notes
CS229 Machine Learning Lecture Notes
 
Ph2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docx
Ph2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docxPh2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docx
Ph2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docx
 
MATLAB Assignment Help
MATLAB Assignment HelpMATLAB Assignment Help
MATLAB Assignment Help
 
Convolution and Fourier Transforms
Convolution and Fourier TransformsConvolution and Fourier Transforms
Convolution and Fourier Transforms
 
CALIFORNIA STATE UNIVERSITY, NORTHRIDGEMECHANICAL ENGINEERIN.docx
CALIFORNIA STATE UNIVERSITY, NORTHRIDGEMECHANICAL ENGINEERIN.docxCALIFORNIA STATE UNIVERSITY, NORTHRIDGEMECHANICAL ENGINEERIN.docx
CALIFORNIA STATE UNIVERSITY, NORTHRIDGEMECHANICAL ENGINEERIN.docx
 
Midterm
MidtermMidterm
Midterm
 
Mathematical blog #1
Mathematical blog #1Mathematical blog #1
Mathematical blog #1
 
Online Signals and Systems Assignment Help
Online Signals and Systems Assignment HelpOnline Signals and Systems Assignment Help
Online Signals and Systems Assignment Help
 
Es272 ch2
Es272 ch2Es272 ch2
Es272 ch2
 
Circular (trigonometric) applications
Circular (trigonometric) applicationsCircular (trigonometric) applications
Circular (trigonometric) applications
 
1. (5 pts) Which of these graphs represent a one-to-one function .docx
1. (5 pts) Which of these graphs represent a one-to-one function .docx1. (5 pts) Which of these graphs represent a one-to-one function .docx
1. (5 pts) Which of these graphs represent a one-to-one function .docx
 
Logistics Management Assignment Help
Logistics Management Assignment Help Logistics Management Assignment Help
Logistics Management Assignment Help
 
Carry save addition
Carry save additionCarry save addition
Carry save addition
 
Machine learning (1)
Machine learning (1)Machine learning (1)
Machine learning (1)
 
Signals and Systems Assignment Help
Signals and Systems Assignment HelpSignals and Systems Assignment Help
Signals and Systems Assignment Help
 
Projectile motion
Projectile motionProjectile motion
Projectile motion
 
Projectile motion
Projectile motionProjectile motion
Projectile motion
 
SAMPLE QUESTIONExercise 1 Consider the functionf (x,C).docx
SAMPLE QUESTIONExercise 1 Consider the functionf (x,C).docxSAMPLE QUESTIONExercise 1 Consider the functionf (x,C).docx
SAMPLE QUESTIONExercise 1 Consider the functionf (x,C).docx
 
Matlabtut1
Matlabtut1Matlabtut1
Matlabtut1
 
Midterm sols
Midterm solsMidterm sols
Midterm sols
 

More from Matlab Assignment Experts

🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊
🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊
🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊Matlab Assignment Experts
 

More from Matlab Assignment Experts (20)

🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊
🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊
🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊
 
Matlab Assignment Help
Matlab Assignment HelpMatlab Assignment Help
Matlab Assignment Help
 
Matlab Assignment Help
Matlab Assignment HelpMatlab Assignment Help
Matlab Assignment Help
 
Matlab Assignment Help
Matlab Assignment HelpMatlab Assignment Help
Matlab Assignment Help
 
MAtlab Assignment Help
MAtlab Assignment HelpMAtlab Assignment Help
MAtlab Assignment Help
 
Matlab Assignment Help
Matlab Assignment HelpMatlab Assignment Help
Matlab Assignment Help
 
Matlab Assignment Help
Matlab Assignment HelpMatlab Assignment Help
Matlab Assignment Help
 
Matlab Homework Help
Matlab Homework HelpMatlab Homework Help
Matlab Homework Help
 
Matlab Homework Help
Matlab Homework HelpMatlab Homework Help
Matlab Homework Help
 
Matlab Assignment Help
Matlab Assignment HelpMatlab Assignment Help
Matlab Assignment Help
 
Computer vision (Matlab)
Computer vision (Matlab)Computer vision (Matlab)
Computer vision (Matlab)
 
Online Matlab Assignment Help
Online Matlab Assignment HelpOnline Matlab Assignment Help
Online Matlab Assignment Help
 
Modelling & Simulation Assignment Help
Modelling & Simulation Assignment HelpModelling & Simulation Assignment Help
Modelling & Simulation Assignment Help
 
Mechanical Assignment Help
Mechanical Assignment HelpMechanical Assignment Help
Mechanical Assignment Help
 
CURVE FITING ASSIGNMENT HELP
CURVE FITING ASSIGNMENT HELPCURVE FITING ASSIGNMENT HELP
CURVE FITING ASSIGNMENT HELP
 
Design and Manufacturing Homework Help
Design and Manufacturing Homework HelpDesign and Manufacturing Homework Help
Design and Manufacturing Homework Help
 
Digital Image Processing Assignment Help
Digital Image Processing Assignment HelpDigital Image Processing Assignment Help
Digital Image Processing Assignment Help
 
Signals and Systems Assignment Help
Signals and Systems Assignment HelpSignals and Systems Assignment Help
Signals and Systems Assignment Help
 
Signal Processing Assignment Help
Signal Processing Assignment HelpSignal Processing Assignment Help
Signal Processing Assignment Help
 
Control Systems Assignment Help
Control Systems Assignment HelpControl Systems Assignment Help
Control Systems Assignment Help
 

Recently uploaded

Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 

Recently uploaded (20)

Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 

Machnical Engineering Assignment Help

  • 1. For any help regarding Mechanical Engineering Assignment Help Visit :- https://www.matlabassignmentexperts.com/, Email :- info@matlabassignmentexperts.com or call us at :- +1 678 648 4277 matlabassignmentexperts.com
  • 2. All m-files that you create in this homework should have enough comments of your codes (brief explanations), and should be submitted to the MIT Server class site. Problem 1 : Calculate the trajectory of a ball dropping and bouncing without no drag force A ball starts to drop from a height of 1 meter. Only vertical motion is considered. When the ball hits on the ground, it re-bounces with coefficient of restitution (COR) e  0.8 . The only force acting on the ball is a gravitational force, and the equation of motion with the initial conditions can be expressed as below: & & at h(t)  d 2 ht  g, dt2 & h01,  0 h0 0 Write an m-file (ball3_your_kerberos_name.m) to numerically (without integrating the equation of motion) simulate the trajectory of the ball until ball hits on the ground three times. Plot the trajectory of the ball ht in time. Note: In order to simulate the trajectory of the ball, Euler forward method is introduced. xt  t xt x & tt or xtn1  xtn  x & tn t x & t  t x & t & x & tt & & x & tn1  x & tn  & x & tn t wheret  tn1  tn Simulate the motion of the ball with t  0.01sec Problem 2 : Calculate the trajectory of a ball dropping and bouncing with Stokes’drag Problems matlabassignmentexperts.com
  • 3. We assume that the velocity of the ball dropping and bouncing is low enough, and introduce Stokes’ drag which resists movement of the ball, and linearly proportional to speed. The equation of motion can be expressed as below: 2 & & at h(t)  d 2 ht & &  g bht g bvt, h01, v0 h,   0 dt write an m-file (ball3stokes_your_kerberos_name.m) with b  0.8 to numerically (without integrating the equation of motion) simulate the trajectory of the ball until ball hits on the ground three times. Plot the trajectory of the ball ht in time. Problem 3 : Calculate the trajectory of a ball dropping and bouncing with quadratic drag Consider the case where the drag is quadratic to velocity instead. The equation of motion can be expressed as below: 2 & at h(t)  d 2 ht  g ch & th & t  g cvtvt dt & h01, v0 h & 0 0 Write an m-file(ball3quadratic_your_kerberos_name.m) with c  0.5 to numerically (without integrating the equation of motion) simulate the trajectory of the ball until ball hits on the ground three times. Plot the trajectory of the ball ht in time. Problem 4 : Calculate a more accurate trajectory of the ball with a given spatial resolution (Bonus, very difficult) Go back to Problem 3.1. The result shows ball bounces when it is not exactly at the ground (either above or below) due to the finite precision of our numerical simulation. We will look to how to get a better simulation for the motion of the ball. We can take smaller time step size t and that will definitely produce accurate trajectory (try). However, it requires much more computation to do simulation with smaller t . Therefore, we introduce adaptive time step size especially in the region close to the ground. Write an m-file (ball3spatial_your_kerberos_name.m) to simulate the motion of the ball that htb   0.01 where tb : is the time when the ball bounces. (Hint: What we meant by satisfies matlabassignmentexperts.com
  • 4. adapative time step size is the following. Modify the algorithm when the ball bounces. If you find that the ball goes below ground and h tb   0.01 is not satisfied, take the ball back one time step and then reinitiate Euler procedure with a smaller time interval (say 1 t ). Then try 2 again in that region. Repeat this procedure until you can satisfy the criterion. Discuss it with TA) matlabassignmentexperts.com
  • 5. Problem 1 : Calculate the trajectory of a ball dropping and bouncing without no drag force First, the function can be defined as below. No input argument and two output arguments (time ‘t’ and trajectory ‘h’) function [t,h]=ball3 % % Problem 3.1 Trajectory of the ball dropping and bouncing % until the ball hits 3 times on the ground % Second, you should define some constants used in simulation: gravity, time step size, coefficients of restitution, and whatever you need. % Define constants g=9.81; % gravity (m/sec^2) dt=0.01; % time step[temporal resolution] (sec) H=1; % initial height when ball start dropping COR=0.8; % coefficient of restitution Third, variables you used in the simulation are declared such as the height, velocity and so on, but it is not really required. (Variable declarations in MATLAB are more flexible than any other languages.) % Initialize numerical simulation variables (It is not required) t=[]; % time (sec) h=[]; % height of the ball (m) v=[]; % velocity of the ball (m/sec) matlabassignmentexperts.com Solutions
  • 6. Fourth, the initial conditions for solving differential equations of the ball dropping and bouncing should be assigned to the initialized variables above. For example, the first element in the matrix which stores height information has initial height when the ball starts dropping. (like h(1)=1;) % Assign initial conditions t(1)=0; % t0=0 h(1)=H; % h(t0=0)=H=1m v(1)=0; % v(t0=0)=0 (no initial velocity) a=-g; % a=-g, and always constant Following diagram gives better understanding for relationship between the matrix defined in MATLAB, and the function or the variable symbolized in mathematics. Note that index of matrices should be always a positive integer. Therefore, how to translate symbolic expression into MATLAB language will be explained later. indicates single element of the given matrix v(dt) v(2dt) v v(0) h h(0) h(1) h(dt) h(2dt) h(n×dt) h(2) h(3) h(n) v(1) v(n×dt) v(2) v(3) v(n) t t(1) t(2) t(3) t(n) 0 dt 2dt n×dt indicates symbolic expression of functions or variables Fifth, we define the index variable to indicate current position in the matrices. It is used for indicating the relative position to current position, or for moving current position to calculate next height of the ball bouncing. matlabassignmentexperts.com
  • 7. % set index number i to 1 (initial condition for i=1) i=1; Sixth, we should run the MATLAB codes for solving differential equations until ball hits on the ground. In each bounce, new initial conditions are given to MATLAB, and it then runs same codes again for solving differential equation. So, we repeat the MATLAB codes up to 3th bounce, which means MATLAB codes for solving differential equations and providing new initial conditions are repeated three times. Therefore, we first use ‘for’ loop since we already know how many loops we need to calculate ball trajectory up to 3th bounce. % repeat calculating velocity and height of the ball % until the ball hits 3 times on the ground for nbounce=1:3 Seventh, in the ‘for’ loop, the routine to solve differential equation numerically should be inserted. Only one second derivative of the motion equation associated with the gravity is given in the problem 3.1. It is a little complicated to solve the second order differential equation directly, but one second order differential equation can be separated into two first order differential equations as below: 2  g   v &  g d h dt2 dh dt dv dt Based on Euler method, the first differential equations can be converted to the discrete difference equation as follow: vt   dt dt t dh ht  t  htht  t  ht  t  tt t vtt  ht  t htht  t ht vtt Note that we assume t is small enough to accept numerical errors which happen during the numerical simulation. In the same way, the second differential equation can be also translated. matlabassignmentexperts.com
  • 8. g  dv  vt  tvt  vt  tvt dt dt t t  tt t gt  vt  tvtvt  t vt gt Now, we should describe MATLAB version of difference equations, based on the difference equations and relationship between symbolic expression and MATLAB language.  ht  t ht vtt  hn+1=hn+vn*dt    vt  t vt gt  vn+1=vn-g*dt  t  dt, t  n*dt, t  t  n+1*dt Where ht hn, ht  t hn+1 vt vn, vt  t vn+1 By increasing index number (i=i+1), we can calculate the height of the ball bouncing until the ball hits on the ground. However, how many loops we need before ball bouncing is not known. (Even though we calculate it mathematically, computer cannot do.) Therefore, ‘while’ is used to calculate every heights of the ball with the given time step as long as the ball hits on the ground, or the calculated height of the ball is still either positive or zero. If the height of the ball we calculated is negative number, ‘while’ loop is terminated since negative height of the ball doesn’t make sense physically. % if current height h(i) has negative number, terminate 'while' loop % (it does not physically make sense.) while h(i)>=0 % calculate time for given index number t(i+1)=t(i)+dt; % calculate velocity of the ball at given time t(i+1) v(i+1)=v(i)+a*dt; % calculate height of the ball at given time t(i+1) h(i+1)=h(i)+v(i)*dt; % index 'i' increases by 1 to calculate next height i=i+1; end Eighth, we are supposed to give new initial conditions when the ball bounces. First, we eliminate matlabassignmentexperts.com
  • 9. the last height we obtained since it has negative value. That’s why the index number should go one step back (i=i-1). Then, we assume that this current position is approximately where the ball is bounced. We observe how much the new ball’s velocity is changed, compared with the ball’s velocity before the ball bouncing. The coefficient of restitution (COR) is given in the homework, and the definition of the COR is as below: CR v  v 1b 2b  v2 a v1a where v1b : Velocity of the first object before impact v1a : Velocity of the first object after impact v2b : Velocity of the second object before impact v2a : Velocity of the second object after impact In the case of ball bouncing, v2b  v2a  0 (for the ground), and v1a  ev1b , e  0 (for the ball), since the second object (ground) is not moving and the direction of the first object (ball) velocity is opposite after ball bouncing. The relation between the velocities of the ball both before and after the impact is C  v2a v1a  0ev1b  0.8  ev  C v  e  CR  0.8 R 1b R 1b v  v 1b 2b 1bv  0 Therefore, new ball’s velocity has opposite sign of old ball’s velocity, and is reduced by the ratio of COR. Last ‘end’ command makes program go back to ‘for’ loop, and run 3 times. matlabassignmentexperts.com
  • 10. % delete current height related values and % go back to the last height by decreasing i by 1 % (The last position where the ball is above the ground) t(i)=[]; v(i)=[]; h(i)=[]; i=i-1; % Assume that the ball bounce slightly above the ground, % the initial velocity of the ball after bouncing is calculated with % the final velocity of the ball before bouncing % and coefficient of restitution v(i)=-COR*v(i); % index 'i' increases by 1 to calculate next height % with new condition after the ball bouncing. end Trajectory plot for the ball bouncing is shown in the end of Problem 3.3 solution. Problem 2 : Calculate the trajectory of a ball dropping and bouncing with Stokes’ drag In this problem, all the codes you developed in the previous problem are used here except for the acceleration part. In problem 3.1, the acceleration is only gravity, and constant everywhere. However, the new drag called Stoke’s drag is introduced in this problem, and it should be plugged into acceleration calculation. at g bvt ant g bvnt an=-g-b*vn matlabassignmentexperts.com
  • 11. % if current height h(i) has negative number, terminate 'while' loop % (it does not physically make sense.) while h(i)>=0 % calculate time for given index number t(i+1)=t(i)+dt; % calculate acceleration of the ball at given time t(i+1) a(i+1)=-g-b*v(i); % calculate velocity of the ball at given time t(i+1) v(i+1)=v(i)+a(i)*dt; % calculate height of the ball at given time t(i+1) h(i+1)=h(i)+v(i)*dt; % index 'i' increases by 1 to calculate next height i=i+1; end In addition, initial condition for the acceleration should be also considered. a0 g bv0 a1=-g-b*v1 % Assign initial conditions t(1)=0; % t0=0 h(1)=H; % h(t0=0)=H=1m matlabassignmentexperts.com
  • 12. v(1)=0; % v(t0=0)=0 (no initial velocity) a(1)=-g-b*v(1); % a(t0=0)=-g-bv(t0=0) In the section of defining constants, Stokes’drag coefficient is also defined as below. % Define constants b=0.8; % constant for acceleration induced by stokes' drag (1/sec) Trajectory plot for the ball bouncing is shown in the end of Problem 3.3 solution. Problem 3 : Calculate the trajectory of a ball dropping and bouncing with quadratic drag In the same way, the ball bouncing with quadratic drag can be also calculated by modifying the codes for calculating the acceleration and adding the initial condition of the ball bouncing in problem 3.2 at g vtvt  ant g vntvnt % if current height h(i) has negative number, terminate 'while' loop % (it does not physically make sense.) while h(i)>=0 % calculate time for given index number t(i+1)=t(i)+dt; % calculate acceleration of the ball at given time t(i+1) a(i+1)=-g- c*v(i)*abs(v(i)); % calculate velocity of the ball at given time t(i+1) v(i+1)=v(i)+a(i)*dt; % calculate height of the ball at given time t(i+1) h(i+1)=h(i)+v(i)*dt; % index 'i' increases by 1 to calculate next height i=i+1; end a0 g cv0v0  a 1=-g-c*v1*absv1 % Assign initial conditions matlabassignmentexperts.com
  • 13. t(1)=0; h(1)=H; v(1)=0; % t0=0 % h(t0=0)=H=1m % v(t0=0)=0 (no initial velocity) a(1)=-g-c*v(1)*abs(v(1)); % a(t0=0)=-g-cv(t0=0)|(v(t0=0)| In the section of defining constants, quadratic drag coefficient is also defined as below. % Define constants c=0.5; % constant for acceleration induced by quadratic drag (1/m) All the plots for the ball bouncing in problem 3.1-3.3 are generated. Following codes are for plotting three trajectories of the ball bouncing with different drag conditions. >> [t1,h1]=ball3; >> [t2,h2]=ball3stokes; >> [t3,h3]=ball3quadratic; >> plot(t1,h1,'r',t2,h2,’b’,t3,h3,'g'); >> grid on; >> legend('bfNo drag','bfStokes'' drag','bfQuadratic drag'); >> xlabel('bfTime (sec)'); >> ylabel('bfHeight (m)'); >> title('bfTrajectories of the Ball Bouncing'); matlabassignmentexperts.com
  • 14. Trajectories of the Ball Bouncing 0 0.2 0.4 0.6 1.2 1.4 1.6 1.8 0.8 1 Time (sec) 0 No drag Stokes' drag Quadratic drag 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 Height (m) Problem 4 : Calculate more accurate bouncing time of the ball with given spatial resolution Go back to the solution in problem 3.1. What we are interested in is the part of determining the bouncing time within the given tolerance (or spatial resolution) by changing step size. Following algorithm describes how to find the step size to satisfy the spatial resolution criterion. 1. Current index number is set to the last one. (i=i-1) 2. Define new variable of the step size as ‘dtt’, and set it to the same value of ‘dt’ 3. Check if the next height is positive and greater than the given time resolution, the next time is set to the ball bouncing time, and the next velocity becomes the final velocity before the ball hits on the ground. 4. If the next height is negative, the current step size decreases by the factor of 2 (0.5dtt). Otherwise, the current step size is increases by the factor of 1.5 (1.5dtt). ht ht  dtt  dtt *1 0.5   matlabassignmentexperts.com
  • 15. 5. Calculate the next height with new time step ‘dtt’ . 6. Go back to Step 3. The above algorithm is implemented by MATLAB, and shown as below: % go back to the last height by decreasing i by 1 % (The last position where the ball is above the ground) i=i-1; % define new time step (adaptive time step) dtt=dt; % if h(t) satisfies spatial resolution condition, % terminate 'while' loop. while h(i+1)>0.001 || h(i+1)<0 dtt=dtt+dtt/2*sign(h(i+1)); % calculate time for given couter number t(i+1)=t(i)+dtt; % recalculate velocity of the ball v(i+1)=v(i)+a*dtt; % recalculate the height of ball h(i+1)=h(i)+v(i)*dtt; end % index 'i' increases by 1 with accepting new height % with given spatial resolution i=i+1; % Assume that the ball bounces on the ground, % the initial velocity of the ball after bouncing is calculated with % the final velocity of the ball before bouncing % and coefficient of resititution v(i)=-COR*v(i); % go back to calculate next height matlabassignmentexperts.com
  • 16. The following codes and plot is for generating trajectory of the ball bouncing with the enough spatial resolution. >> [t,h]=ball3spatial; plot(t,h); >> grid on; >> xlabel('bfTime (sec)'); >> ylabel('bfHeight (m)'); >> title( ... 'bfTrajectories of the Ball Bouncing with Given Spatial Resolution'); Height (m) Trajectories of the Ball Bouncing with Given Spatial Resolution 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Time (sec) matlabassignmentexperts.com