Department of Mechanical Engineering, LSU Session V

advertisement
MATLAB Tutorials
Session V
Mathematical Applications using MATLAB
(Cont….)
Rajeev Madazhy
Email: rmadaz1@lsu.edu
Dept of Mechanical Engineering
LSU
Department of Mechanical Engineering, LSU
Session V
Last Session….
 Using fplot function
 Minimization
 Zero finding
 Curve fitting
 Interpolation
 Integration
Department of Mechanical Engineering, LSU
Session V
Session V Outline….
 Solving Double Integrals
 Ordinary Differential Equations
 Examples of ODE using MATLAB….
 Mention of DDE’s
Department of Mechanical Engineering, LSU
Session V
Solving Double Integrals….
Consider the numerical solution of
y max xmax
  f ( x, y)dxdy
y min
Let
xmin
f ( x, y)  y sin(x)  x cos(y)
We write a function to calculate the double integral using the MATLAB
Inline function dblquad.
Department of Mechanical Engineering, LSU
Session V
MATLAB M-File….
Function out=integrnd(x,y)
out= y*sin(x) + x*cos(y);
To evaluate the double integral, use
result = dblquad(‘integrnd’,xmin,xmax,ymin,ymax);
at the command prompt.
Department of Mechanical Engineering, LSU
Session V
In MATLAB….
Department of Mechanical Engineering, LSU
Session V
Books on solving ODE’s using MATLAB..
Linear Algebra and Differential Equations Using MATLAB
Martin Golubitsky, Michael Dellnitz
Ordinary Differential Equations Using MATLAB
John C. Polking & David Arnold
Department of Mechanical Engineering, LSU
Session V
Solving ODE’s….
 MATLAB has the capability to solve the first order differential
equations using numerical methods.
 The functions used are ode23 and ode25
 Both ode23 and ode25 work the same way except for the internal
algorithm that is being used.
 Let us use ode45 in solving the Differential equations.
Department of Mechanical Engineering, LSU
Session V
Format….
The format is as follows:
 [t,y] = ode45(‘function_name’,tspan,y0)
 function_name is the name of a function type file where the
differential equation is stored.
 tspan is a vector specifying the initial and final values of
independent variable
 y0 is a column vector containing the initial conditions
 Results for the command are stored in vector y.
 t is the vector of independent variable
Department of Mechanical Engineering, LSU
Session V
Example….
Solve a first order homogeneous differential equation with initial
condition:
.
y y  0
y (t  0)  1
We rewrite it as :
.
y  y
y ( 0)  1
Department of Mechanical Engineering, LSU
Session V
Function in MATLAB…
Write the function in MATLAB and save it as ode1.m
Department of Mechanical Engineering, LSU
Session V
Cont….
Write the following in another m-file:
Department of Mechanical Engineering, LSU
Session V
Result….
Department of Mechanical Engineering, LSU
Session V
Non-homogenous ODE’s….
If the differential equation is not homogenous then we do the
following:
.
y  y  e 2 t
y (t  0)  1
It is rewritten again as follows:
.
y   y  e 2 t
y (0)  1
Department of Mechanical Engineering, LSU
Session V
Solution….
All we need to do is change the function in the m-file ode1.m
Rest remains the same as coded earlier.
Department of Mechanical Engineering, LSU
Session V
Higher order differential Equations….
 The higher order differential equations can be converted to a
system of first order differential equations.
 Next example shows how to solve second order differential
equation using ode45 in Matlab
Department of Mechanical Engineering, LSU
Session V
Problem….
The following figure shows a spring-mass-damper system. Plot the response of
the system when the initial displacement of mass m is 0.1 meters.
c = 1 kg/s
k = 100N/m
m = 5 kg
Department of Mechanical Engineering, LSU
Session V
Equation of motion….
The equation of motion is as follows:
..
.
m x  c x  kx  0
x (t  0)  0.1
Now we need to change it to first order equation to solve it.
Rewriting the equation we get,
c
k
x   x  x
m
m
x(t  0)  0.1
Department of Mechanical Engineering, LSU
Session V
Cont….
.
Consider the fact that x  v is just velocity. So we can rewrite the
equation as two first order differential equations
c
k
v   v  x
m
m
x  v
v(t  0)  0
x(t  0)  0.1
Department of Mechanical Engineering, LSU
Session V
Cont….
Or in general form we get:
c
k
x1   x1  x2
m
m
x2  x1
x1 (t  0)  0
x2 (t  0)  0.1
Department of Mechanical Engineering, LSU
Session V
Cont….
Write the function as follows in Matlab editor and save it as ode2.m
Department of Mechanical Engineering, LSU
Session V
Cont….
Write the main program naming it as sorDiff.m
Note that we have two initial conditions here.
Department of Mechanical Engineering, LSU
Session V
Velocity Response….
Department of Mechanical Engineering, LSU
Session V
Displacement Response….
Department of Mechanical Engineering, LSU
Session V
Exercise….
Write a Matlab program to determine the time-temperature history of a
sphere of radius r=5mm, initially at a uniform temperature of 4000C.
The sphere is exposed to 2000C air with a convection coefficient of
h=10 W/m^2-K. The thermophysical properties of the sphere material
are:
=Density=3000kg/m^3
k=Thermal conductivity=20 W/m-K
c=specific heat=1000J/kg-K
Department of Mechanical Engineering, LSU
Session V
Exercise cont….
The relation between the sphere temperature and time is given by an
energy balance on the sphere, which results in the following
differential equation
 hA(T  T )  cV
where
dT
dt
H = convective heat transfer coefficient
T = temperature of the sphere at any time
A = surface area of the sphere = 4 r2
V = volume of the sphere = 4/3
r3
T = time
Department of Mechanical Engineering, LSU
Session V
Exercise cont….
This differential equation has the following exact solution which can be
used to check the accuracy of the numerical solution provided by
Matlab
T  T
 hA
 exp(
t)
Ti  T
cV
Department of Mechanical Engineering, LSU
Session V
Exact Temperature code….
Department of Mechanical Engineering, LSU
Session V
Using as function….
Department of Mechanical Engineering, LSU
Session V
MATLAB main code….
Department of Mechanical Engineering, LSU
Session V
Result and plot….
Department of Mechanical Engineering, LSU
Session V
Delay Differential Equations…
Ordinary differential equations (ODEs) and delay differential equations
(DDEs) are used to describe many phenomena of physical interest.
While ODEs contain derivatives which depend on the solution at the
present value of the independent variable (“time”), DDEs contain in
addition, derivatives which depend on the solution at previous times.
DDEs are a better approximation than ODEs to many physical systems.
Department of Mechanical Engineering, LSU
Session V
Cont….
Consider a system of delay differential equations of the form:
y(t) = f(t, y(t), y(t - τ1), y(t - τ2), . . . , y(t - τk))
that are solved on a ≤ t ≤ b with given history y(t) = S(t) for t ≤ a.
Department of Mechanical Engineering, LSU
Session V
Function code….
Department of Mechanical Engineering, LSU
Session V
Main program….
Department of Mechanical Engineering, LSU
Session V
Output….
Department of Mechanical Engineering, LSU
Session V
Website where you could obtain
The dde23.m file…..
http://www.radford.edu/~thompson/webddes/
Department of Mechanical Engineering, LSU
Session V
Recap….
 Solving Double Integrals
 Ordinary Differential Equations
 Examples of ODE using MATLAB….
 Mention of DDE’s
Department of Mechanical Engineering, LSU
Session V
Next Session….
Engineering Applications using MATLAB….
 Solving non linear differential equations
 Algorithm analysis
 Common mechanical problems
a) four bar linkage
b) vibrations
c) thermal and fluids
Department of Mechanical Engineering, LSU
Session V
Thank You
Department of Mechanical Engineering, LSU
Session V
Download