SlideShare a Scribd company logo
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)

PPTX
Matlab Assignment Help
Matlab Assignment Experts
 
PPTX
Algorithm Homework Help
Programming Homework Help
 
PPTX
Computer Science Assignment Help
Programming Homework Help
 
PPTX
Signal Processing Homework Help
Matlab Assignment Experts
 
PPTX
Control System Homework Help
Matlab Assignment Experts
 
PPTX
Signal Processing Assignment Help
Matlab Assignment Experts
 
PPTX
Data Analysis Homework Help
Matlab Assignment Experts
 
PPTX
Signals and systems assignment help
Matlab Assignment Experts
 
PPTX
Statistics Assignment Help
Statistics Assignment Help
 
PDF
Solution 3.
sansaristic
 
PPT
Numerical Methods
ESUG
 
PPTX
Electrical Engineering Assignment Help
Matlab Assignment Experts
 
PPTX
Stochastic Processes Homework Help
Statistics Assignment Help
 
PPTX
Computation Assignment Help
Programming Homework Help
 
DOC
algorithm Unit 4
Monika Choudhery
 
PDF
Answers withexplanations
Gopi Saiteja
 
PPTX
Diffusion Homework Help
Statistics Assignment Help
 
PPTX
Matlab Assignment Help
Matlab Assignment Experts
 
PDF
Ee693 questionshomework
Gopi Saiteja
 
RTF
algorithm unit 1
Monika Choudhery
 
Matlab Assignment Help
Matlab Assignment Experts
 
Algorithm Homework Help
Programming Homework Help
 
Computer Science Assignment Help
Programming Homework Help
 
Signal Processing Homework Help
Matlab Assignment Experts
 
Control System Homework Help
Matlab Assignment Experts
 
Signal Processing Assignment Help
Matlab Assignment Experts
 
Data Analysis Homework Help
Matlab Assignment Experts
 
Signals and systems assignment help
Matlab Assignment Experts
 
Statistics Assignment Help
Statistics Assignment Help
 
Solution 3.
sansaristic
 
Numerical Methods
ESUG
 
Electrical Engineering Assignment Help
Matlab Assignment Experts
 
Stochastic Processes Homework Help
Statistics Assignment Help
 
Computation Assignment Help
Programming Homework Help
 
algorithm Unit 4
Monika Choudhery
 
Answers withexplanations
Gopi Saiteja
 
Diffusion Homework Help
Statistics Assignment Help
 
Matlab Assignment Help
Matlab Assignment Experts
 
Ee693 questionshomework
Gopi Saiteja
 
algorithm unit 1
Monika Choudhery
 

Similar to Machnical Engineering Assignment Help (16)

PDF
1 matlab basics
Utsav Koshti
 
DOCX
Lab 1 ball toss data analysis (physics with vernier experimen
ADDY50
 
PPTX
Es272 ch1
Batuhan Yıldırım
 
PDF
Erin catto numericalmethods
oscarbg
 
PDF
Solution of matlab chapter 4
AhsanIrshad8
 
PPT
Tracking a Ball
kellykoch
 
DOCX
Ph2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docx
karlhennesey
 
PPTX
Computer Science Programming Assignment Help
Programming Homework Help
 
PDF
Simulation And Modelling
Abhishek Chandra
 
PPS
Example Projectile Motion
Vidyacenter
 
PPTX
Projektielbeweging e
Natasia Gouws
 
PPTX
quadratic functions powerpoint for eleven graders
lemarshammout121
 
PPTX
Control System Assignment Help
Matlab Assignment Experts
 
PPSX
Projectile motion
gngr0810
 
PPTX
Projectile motion
gngr0810
 
1 matlab basics
Utsav Koshti
 
Lab 1 ball toss data analysis (physics with vernier experimen
ADDY50
 
Erin catto numericalmethods
oscarbg
 
Solution of matlab chapter 4
AhsanIrshad8
 
Tracking a Ball
kellykoch
 
Ph2A Win 2020 Numerical Analysis LabMax YuenMar 2020.docx
karlhennesey
 
Computer Science Programming Assignment Help
Programming Homework Help
 
Simulation And Modelling
Abhishek Chandra
 
Example Projectile Motion
Vidyacenter
 
Projektielbeweging e
Natasia Gouws
 
quadratic functions powerpoint for eleven graders
lemarshammout121
 
Control System Assignment Help
Matlab Assignment Experts
 
Projectile motion
gngr0810
 
Projectile motion
gngr0810
 
Ad

More from Matlab Assignment Experts (20)

PPTX
Digital Communication Through Biorthogonal Codes: A MATLAB Assignment Solution
Matlab Assignment Experts
 
PPTX
Solution to MATLAB Assignment on Signals and Systems
Matlab Assignment Experts
 
PPTX
🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊
Matlab Assignment Experts
 
PPTX
Matlab Assignment Help
Matlab Assignment Experts
 
PPTX
Matlab Assignment Help
Matlab Assignment Experts
 
PPTX
Matlab Assignment Help
Matlab Assignment Experts
 
PPTX
MAtlab Assignment Help
Matlab Assignment Experts
 
PPTX
Matlab Assignment Help
Matlab Assignment Experts
 
PPTX
Matlab Assignment Help
Matlab Assignment Experts
 
PPTX
Matlab Homework Help
Matlab Assignment Experts
 
PPTX
MATLAB Assignment Help
Matlab Assignment Experts
 
PPTX
Matlab Homework Help
Matlab Assignment Experts
 
PPTX
Matlab Assignment Help
Matlab Assignment Experts
 
PPTX
Computer vision (Matlab)
Matlab Assignment Experts
 
PPTX
Online Matlab Assignment Help
Matlab Assignment Experts
 
PPTX
Modelling & Simulation Assignment Help
Matlab Assignment Experts
 
PPTX
Mechanical Assignment Help
Matlab Assignment Experts
 
PPTX
CURVE FITING ASSIGNMENT HELP
Matlab Assignment Experts
 
PPTX
Design and Manufacturing Homework Help
Matlab Assignment Experts
 
PPTX
Digital Image Processing Assignment Help
Matlab Assignment Experts
 
Digital Communication Through Biorthogonal Codes: A MATLAB Assignment Solution
Matlab Assignment Experts
 
Solution to MATLAB Assignment on Signals and Systems
Matlab Assignment Experts
 
🚀 Need Expert MATLAB Assignment Help? Look No Further! 📊
Matlab Assignment Experts
 
Matlab Assignment Help
Matlab Assignment Experts
 
Matlab Assignment Help
Matlab Assignment Experts
 
Matlab Assignment Help
Matlab Assignment Experts
 
MAtlab Assignment Help
Matlab Assignment Experts
 
Matlab Assignment Help
Matlab Assignment Experts
 
Matlab Assignment Help
Matlab Assignment Experts
 
Matlab Homework Help
Matlab Assignment Experts
 
MATLAB Assignment Help
Matlab Assignment Experts
 
Matlab Homework Help
Matlab Assignment Experts
 
Matlab Assignment Help
Matlab Assignment Experts
 
Computer vision (Matlab)
Matlab Assignment Experts
 
Online Matlab Assignment Help
Matlab Assignment Experts
 
Modelling & Simulation Assignment Help
Matlab Assignment Experts
 
Mechanical Assignment Help
Matlab Assignment Experts
 
CURVE FITING ASSIGNMENT HELP
Matlab Assignment Experts
 
Design and Manufacturing Homework Help
Matlab Assignment Experts
 
Digital Image Processing Assignment Help
Matlab Assignment Experts
 
Ad

Recently uploaded (20)

PDF
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PDF
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PDF
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
PPTX
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PPTX
Quarter1-English3-W4-Identifying Elements of the Story
FLORRACHELSANTOS
 
PPTX
PPT on the Development of Education in the Victorian England
Beena E S
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
PDF
SSHS-2025-PKLP_Quarter-1-Dr.-Kerby-Alvarez.pdf
AishahSangcopan1
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PDF
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
PDF
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
PDF
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PPTX
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PPTX
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
PPTX
THE TAME BIRD AND THE FREE BIRD.pptxxxxx
MarcChristianNicolas
 
PPTX
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
Quarter1-English3-W4-Identifying Elements of the Story
FLORRACHELSANTOS
 
PPT on the Development of Education in the Victorian England
Beena E S
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
SSHS-2025-PKLP_Quarter-1-Dr.-Kerby-Alvarez.pdf
AishahSangcopan1
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
THE TAME BIRD AND THE FREE BIRD.pptxxxxx
MarcChristianNicolas
 
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 

Machnical Engineering Assignment Help

  • 1. For any help regarding Mechanical Engineering Assignment Help Visit :- https://www.matlabassignmentexperts.com/, Email :- [email protected] 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