Академический Документы
Профессиональный Документы
Культура Документы
Aim:
To visualize 2D and 3D plots using MATLAB with the help of Aerospace related questions
and interpreting it’s answers.
Theory:
A two-dimensional graph is a set of points in two-dimensional space. If the points
are real and if Cartesian coordinates are used, each axis depicts the potential values of a
particular real variable.
3D plot are generated from data defined as Z=f(X,Y). As for 2D plots, there are two ways to
obtain a 3D plot depending on the way the (X,Y,Z) values are defined.
Types of plot:
1. Line Plot: Line plots are a useful way to compare sets of data or track changes over
time. 2D or 3D line plot can be drafted on linear or logarithmic scale based on the
requirements.
2. Data Distribution Plots: Visualization of the distribution of data using plots such as
histograms, pie charts, or word clouds is known as Data Distribution Plots.
3. Discrete Data Plots: Visualizing discrete data using plots such as bar graphs or stem
plots. For example, one can create a vertical or horizontal bar graph where the bar
lengths are proportional to the values that they represent.
4. Geographical Plots: It is a plot of the movements of one or more craft relative to the
surface of the Earth.
5. Polar Plots: The are the data plots which are done in polar Coordinate System.
8. Animation Plots: Animations are generated from a list (or other iterable) of graphics
objects.
Questions:
First, we select a range of Velocities required for the graph between thrust and
velocity.
Next we calculate coefficient of lift using the formula:
Cl= 2(WEIGHT)/(DESITY)*(VELOCITY)^2*(AREA)
MATLAB Results:
We put the following code in matlab:
velocity=100:100:1300
density=0.00089068
weight=73000
area=950
Coeff_lift=2*weight./density*velocity.^2*area
Coeff_drag=0.015+0.08*Coeff_lift.^2
Thrust=0.5.*density.*velocity.^2.*area.*Coeff_drag
drag=0.5.*density.*velocity.^2.*area.*Coeff_lift
3
In command window:
plot(velocity,Thrust)
>> velocity =
Columns 1 through 11
Columns 12 through 13
1200 1300
density =
8.9068e-04
weight =
73000
area =
4
950
Coeff_lift =
1.0e+17 *
Coeff_drag =
1.0e+33 *
Thrust =
1.0e+39 *
drag =
5
1.0e+23 *
Graph Obtained:
6
2. From the above Values, plot and analyse variation of Cl^(3/2)/Cd, Cl/Cd, Cl^(1/2)/Cd
Curves.
velocity=100:100:1300
density=0.00089068
weight=73000
area=950
Coeff_lift=2*weight./density*velocity.^2*area
Coeff_drag=0.015+0.08*Coeff_lift.^2
R1=Coeff_lift.^(3/2)
Ratio1=R1./Coeff_drag
Ratio2=Coeff_lift./Coeff_drag
R2=Coeff_lift.^0.5
Ratio3=R2./Coeff_drag
Program Compilation:
>> KarthoVampee2
velocity =
Columns 1 through 5
Columns 6 through 10
Columns 11 through 13
density =
7
8.9068e-04
weight =
73000
area =
950
Coeff_lift =
1.0e+17 *
Columns 1 through 6
Columns 7 through 12
Column 13
2.6317
8
Coeff_drag =
1.0e+33 *
Columns 1 through 6
Columns 7 through 12
Column 13
5.5408
R1 =
1.0e+26 *
Columns 1 through 6
Columns 7 through 12
Column 13
1.3501
Ratio1 =
1.0e-06 *
Columns 1 through 6
Columns 7 through 12
Column 13
0.0244
Ratio2 =
1.0e-14 *
Columns 1 through 6
Columns 7 through 12
Column 13
0.0047
R2 =
1.0e+08 *
Columns 1 through 6
Columns 7 through 12
Column 13
5.1300
Ratio3 =
1.0e-21 *
11
Columns 1 through 6
Columns 7 through 12
Column 13
0.0001
Graph Obtained:
12
3. By volume, dry air contains 78.09% nitrogen, 20.95% oxygen, 0.93% argon,
0.04% carbon dioxide, and small amounts of other gases. Express this Data in terms
of a Pie Chart for better understanding.
MATLAB Codes:
X = [78.09 0.93 20.95 0.04];
>> labels = {'Nitrogen' 'Argon' 'Oxygen' 'Carbondioxide and Other Gases'};
>> pie(X,labels)
Result:
Interpretation:
From the above graphs, we not only get an idea of variation of different parameters with
respect to a constantly varying variable but also get to compute the value of required
parameters at any given point without mathematical interpolation.
13
4. Various Flight paths have been given along with their magnitudes of ranges it
travelled. Interpret the data using visualisation.
MATLAB Code:
z = eig(randn(10));
compass(z)
Result:
Interpretation:
Thus the Flight Paths of Various Aircrafts taking off an airport have been visualized and
interpreted.
14
5. The error occurred in measuring the airspeed by the onboard Pitot-Static tube is
calculated for different speeds in terms of Mach Number. Interpret the data in
MATLAB.
MATLAB Code:
x = 0:0.1:1;
errorbar(x,exp(–x),
0.5*rand(1,length(x)),’d’)
Result:
Interpretation:
Hence the error obtained in calculation of Airspeed for different Mach Numbers have been
interpreted and analysed.
15
3D Plot
Theory:
Some types of 3D graphical interpretation and its examples are as follows:
Mesh Plot:
The mesh function creates a wireframe mesh. By default, the color of the mesh is
proportional to the surface height.
z = peaks(25);
figure
mesh(z)
Surface Plot:
The surf function is used to create a 3-D surface plot.
surf(z)
colormap(jet)
Contour Plot:
The contour function is used to create a plot with contour lines of constant value.
contour(z,16)
colormap default % change color map
Quiver Plot:
The quiver function plots 2-D vectors as arrows.
x = -2:.2:2;
y = -1:.2:1;
16
[xx,yy] = meshgrid(x,y);
zz = xx.*exp(-xx.^2-yy.^2);
[px,py] = gradient(zz,.2,.2);
quiver(x,y,px,py)
xlim([-2.5 2.5])
Problems:
1. The Variation of Heat of the jet flow coming out of the Nozzle of a turbojet engine is
given by the equation:
5
𝑄=
1 + 𝑇 2 + 𝑇𝑖2
Where Q is the heat generated, T is the nozzle exit temperature and Ti is the Nozzle
inlet temperature.
Plot the variation of Heat with these two parameters.
MATLAB CODES:
X = -3 : .1 : 3;
[x,y] = meshgrid(X,X);
z = 1./(3+x.^2+y.^2);
surfl(z)
shading interp
colormap hot
xlabel('x'); ylabel('y');
17
GRAPH:
Interpretation:
From this Graph of variation of Heat generated to Temperatures at inlet and outlet, we get to
know the locations of Hotspots throughout the flow in nozzle at high speeds of the turbojet
aircrafts.
2. Visualise the Earth’s Surface using the 3D graph along with the Latitude and
Longitude of Earth in the graph.
MATLAB CODE:
sphere(50)
axis 'equal'
18
GRAPH:
Interpretation:
From this visualisation, we get a rough 3D image of Earth which can be used to plot various
points such as the poles, magnetic poles, etc. Also they can be used to track satellite
trajectories at the time of launch etc.
3. The variation of Dynamic Viscosity of Ethanol flowing at 25ᵒ inside a tube is given
by the relation:
µ = cos 4𝜋𝜌 + 2
where ρ is the density of the ethanol in the flow. Plot the variation of density and
Dynamic Viscosity and analyse.
MATLAB Codes:
z = 0: .03 : 1;
r = cos(4*pi*z)+2;
cylinder(r)
19
GRAPH:
Interpretation:
As the dynamic viscosity varies with the density with a function of Cosine. We obtain the
graph with varies the same way harmonically again and again throughout the flow. It is a
point to be notes that density does not remains constant and depends on several factors such
as the temperature, pressure etc.
20
4. When air passes through a series of Expansion waves, there is change in temperature
along with various parameters related to them. Take random values of Two expansion
waves and use a suitable plot to depict the relation between them.
MATLAB CODE:
x = [0 2.5; 5 2.5; 5 2.5; 0 2.5];
z = [0 0; 0 0; 2 2; 2 2];
fill3(x,y,z, rand(4,2))
view(120, 50)
grid
GRAPH:
21
MATLAB CODE:
X = -3:.1:3;
[x,y] = meshgrid(X,X);
z = 1./(8+x.^2+3*y.^2);
contour3(z)
xlabel('x'); ylabel('y');
GRAPH:
Interpretation:
The Heli-carrier’s on board computers uses this data to find the altitude of the obstacle and
find an alternate safe Cruise path for it to fly.
22
Theory:
e = eig(A) returns a column vector containing the eigenvalues of square matrix A.
[V,D] = eig(A) returns diagonal matrix D of eigenvalues and matrix V whose columns are the
corresponding right eigenvectors, so that A*V = V*D.
[V,D,W] = eig(A) also returns full matrix W whose columns are the corresponding left
eigenvectors, so that W'*A = D*W'.
The eigenvalue problem is to determine the solution to the equation Av = λv, where A is an n-
by-n matrix, v is a column vector of length n, and λ is a scalar. The values of λ that satisfy the
equation are the eigenvalues. The corresponding values of v that satisfy the equation are the
right eigenvectors. The left eigenvectors, w, satisfy the equation w’A = λw’.
Problems:
1. The Stress on X,Y and Z axes of a given material Niantic-75 used in the
manufacturing of Combustion Chamber is given by the Eigen Values of this Matrix.
Compute using MATLAB.
MATLAB Code:
MatrixA=[3 2 4;2 0 2;4 2 3]
e=eig(MatrixA)
Result:
MatrixA =
3 2 4
2 0 2
4 2 3
e=
-1.0000
-0.4721
8.4721
Interpretation:
The Stress Values are 1, 0.4721 and 8.4721 N/m2 on the 3-Axis respectively. The
Negative Sign denotes the Nature of the stress which is either Compressive or Tensile.
24
2. A single Crystal of Diamond used for cutting Aircraft Parts is loaded as follows on its
[100] , [010] and [001] axes. What are the normal stresses on the orthogonal [111],
[110], [112] axes?
MATLAB Code:
Result:
e=
-7.4456
100.0000
107.4456
Interpretation:
The Normal Stress along the orthogonal plane of [111], [110], [112] are -7.4456, 100.0,
107.4456 respectively.
25
Polynomial Evaluation:
Theory:
y = polyval(p,x) evaluates the polynomial p at each point in x. The argument p is a vector
of length n+1 whose elements are the coefficients (in descending powers) of an nth-degree
polynomial:
p(x)=p1xn+p2xn−1+...+pnx+pn+1.
[y,delta] = polyval(p,x,S) uses the optional output structure S produced by polyfit to generate
error estimates. delta is an estimate of the standard error in predicting a future observation
at x by p(x).
Problems:
1. The weight of an ideal round cut diamond which is used in cutting the Aluminium for
Aircraft can be modelled by the equation:
w=0.0021d3-0.060d2+0.23d
where w is the weight of the diamond in carats and d is the diameter in millimetres. For
Cutting a specific Part, diamond of 30 Millimetres is required. Determine the Weight of
diamond required.
26
MATLAB Codes:
p=[0.0021 -0.060 0.023];
x=[30];
y=polyval(p,x)
Result:
y =0.1130
Interpretation:
This Result gives is the Value of the Volume of the Diamond at x=30 mm. Hence a diamond
with volume of 0.1130 mm3 is required for the specific cutting process.
2. Consider a Symmetric Airfoil whose Mid-section is in the form of the rectangle with
sides of magnitude of Z, (Z+8), (Z+2) respectively. The volume is given by the
equation:
V=4z3+16z2+12z+15
A particular NACA Series Airfoil should have X=12 mm of dimension. Find the Volume of
the Rectangle used in the Airfoil.
MATLAB Codes:
Volume=[4 16 12 15];
z=[12];
y=polyval(Volume,z)
Result:
y = 9375
Interpretation:
Hence, The Volume of the rectangular section of the required airfoil is 9375 mm3.
27
CURVE FITTING:
Theory:
To interactively fit a curve, follow the steps in this simple example:
1. Load some data at the MATLAB® command line.
load hahn1
2. Open the Curve Fitting app. Enter:
cftool
3. In the Curve Fitting app, select X Data and Y Data.
Curve Fitting app creates a default interpolation fit to the data.
4. Choose a different model type using the fit category drop-down list, e.g.,
select Polynomial.
5. Try different fit options for your chosen model type.
6. Select File > Generate Code.
Curve Fitting app creates a file in the Editor containing MATLAB code to recreate all fits
and plots in your interactive session.
Alternatively,
Polynomial curve fitting
Syntax
p = polyfit(x,y,n)
[p,S] = polyfit(x,y,n)
[p,S,mu] = polyfit(x,y,n)
Description:
p = polyfit(x,y,n) returns the coefficients for a polynomial p(x) of degree n that is a best
fit (in a least-squares sense) for the data in y. The coefficients in p are in descending powers,
and the length of p is n+1
p(x)=p1xn+p2xn−1+...+pnx+pn+1.
[p,S] = polyfit(x,y,n) also returns a structure S that can be used as an input
to polyval to obtain error estimates.
[p,S,mu] = polyfit(x,y,n) also returns mu, which is a two-element vector with centering
and scaling values. mu(1) is mean(x), and mu(2) is std(x). Using these
values, polyfit centers x at zero and scales it to have unit standard deviation,
ˆx= ‾x x .
x− σ
28
This centring and scaling transformation improves the numerical properties of both the
polynomial and the fitting algorithm.
Questions:
1. The Coordinates of a part of the Horizontal Stabilizer of an Aircraft is given as
follows:
X Y
1 14
2 27
3 40
4 55
5 68
6 75
7 84
8 91
9 104
10 125
11 136
MATLAB Codes:
X_coordinates = [1 2 3 4 5 6 7 8 9 10 11];
>> Y_coordinates = [14 27 40 55 68 75 84 91 104 125 136];
>> polyfit(X_coordinates,Y_coordinates,1)
29
Result:
ans =
11.6545 4.5273
Interpretation:
From the graph, We come to know that the plot of the given coordinates is of the Horizontal
Stabilizer of the given aircraft.
2. The Variation between the Degree Shift of the Flaps mounted on the Wings of the
aircraft which is used to increase the camber of the Aircraft wing with the Percentage
increase in Coefficient of Lift varies with each other in a Parabolic form. With the
given Data, prove it graphically.
X Y
0 1.8
1 1.98
2 1.9926
3 2.07
4 2.67
30
5 2.88
6 3.00
MATLAB Codes:
X_coordinates = [0 1 2 3 4 5 6];
>> Y_coordinates = [1.8 1.98 1.9926 2.07 2.67 2.88 3.00];
polyfit(X_coordinates,Y_coordinates,1)
Result:
ans =
Theory:
If eqn is an equation, solve(eqn, x) solves eqn for the symbolic variable x.
Use the == operator to specify the familiar quadratic equation and solve it using solve.
syms a b c x
eqn = a*x^2 + b*x + c == 0;
solx = solve(eqn, x)
solx =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
solx is a symbolic vector containing the two solutions of the quadratic equation. If the
input eqn is an expression and not an equation, solve solves the equation eqn == 0.
Questions:
1. The Error in Calculating the Pressure at a Given Altitude is given by the equation:
8x3+12x2+5x+2=0
As 3 different values are obtained, the highest possible error Magnitude is considered.
MATLAB Code:
Polynomial=[8 12 5 2];
>> root=roots(Polynomial)
Result:
root =
-1.1448 + 0.0000i
-0.1776 + 0.4322i
-0.1776 - 0.4322i
Interpretation:
Hence, the three required roots of the given polynomial are obtained.
32
2. The Given quadratic equation is the equation obtained while solving for a constant
that determines the Oswald’s Efficiency value which is used in the calculation of
various parameters in Flight Dynamics. Solve it using MATLAB.
12x2+4x+16=0
MATLAB Code:
Polynomial=[12 4 16];
>> root=roots(Polynomial)
Result:
root =
-0.1667 + 1.1426i
-0.1667 - 1.1426i
Interpretation:
We get the 2 different values of Oswald’s Constant from the MATLAB.
Where
𝑚𝐿3
𝛽𝑖4 = (2𝜋𝑓𝑖 )2 ( )
𝐸𝐼
Where
𝑓𝑖 = ith natural frequency
m= mass of the beam
L= Length of the beam
E= Modulus of Elasticity
I=Moment of inertia of the Cross-section
Find the Angles at which resonance occurs at the wing of this Airplane.
33
MATLAB Code:
>> syms x
>> Eqn2 = cosh(x)*cos(x)+1 == 0;
>> solx = solve(Eqn2,x)
Result:
solx = -212.05750411731104359622842837137
Interpretation:
The given value is close to 1.177 Radians at which there can be observed radians on
the wing of this Aircraft.
2. The Specific Fuel input to the Engine for an Commercial Aircraft is given by the
Lambert’s Equation:
𝑎𝑥 + 𝑏 log 𝑥 + 𝑐 √𝑥 + 𝑑 = 0
For a particular Aircraft Flying at 30,000 ft, the Specific Fuel Input is given by the equation:
3𝑥 + 5 log 𝑥 + 9√𝑥 + 10 = 0
Solve the equation using MATLAB.
MATLAB Code:
Eqn = 3*y+5*log(y)+9*sqrt(y)+10 ==0;
>> solx=solve(Eqn,y)
Result:
solx =0.078092206567782850204281665495309
Interpretation:
Hence, The Specific Fuel Input for this Aircraft at 30,000 ft is 0.078092.
34
Theory:
Questions:
1. The Three-Moment Equation for determining the Stress across a Beam is given by:
6𝑎1 𝑥̅1 6𝑎2 𝑥̅2
𝑀𝑎 𝐿1 + 2𝑀𝐵 (𝐿1 + 𝐿2 ) + 𝑀𝐶 𝐿2 = +
𝐿1 𝐿2
1. 22MA + 5MB=172.36
2. 5MA + 18MB=95.32
MATLAB CODE:
Solution:
X=
7.0778
3.3295
Interpretation:
Hence we obtain the Values of MA and MB to be 7.0778 and 3.3295 respectively.
2. The Three-Moment Equation for determining the Stress across a Beam is given by:
6𝑎1 𝑥̅1 6𝑎2 𝑥̅2
𝑀𝑎 𝐿1 + 2𝑀𝐵 (𝐿1 + 𝐿2 ) + 𝑀𝐶 𝐿2 = +
𝐿1 𝐿2
MATLAB Codes:
Result:
X=
-6.5268
12.0195
8.9440
Interpretation:
Hence we obtain the Values of MA, MB and MC to be 6.5268, 12.0944 and 8.944
respectively.
3. The mass flow rate of air be 2 kg/s and 5 kg/s and mass flow rate of fuel be 0.001kg/s
and 0.002kg/s and the thrust produced be 12,487N and 14,698N. Calculate the mass
flow rate of air and fuel for maximum thrust generated by the Aircraft.
MATLAB Code:
a=[ 2 5;0.001 0.002];
b=[12,487; 14,698];
linsolve(a,b)
Results:
ans =
3.56212
0.01245
Interpretation:
Hence the Mass flow rate and fuel required for generating maximum thrust has been
calculated.
37
Theory:
Single Integration:
Syntax
q = integral(fun,xmin,xmax)
q = integral(fun,xmin,xmax,Name,Value)
Description
q = integral(fun,xmin,xmax) numerically integrates function fun from xmin to xmax using
global adaptive quadrature and default error tolerances.
Double Integration:
Syntax
q = integral2(fun,xmin,xmax,ymin,ymax)
q = integral2(fun,xmin,xmax,ymin,ymax,Name,Value)
Description
q = integral2(fun,xmin,xmax,ymin,ymax) approximates the integral of the function z =
fun(x,y) over the planar region xmin ≤ x ≤ xmax and ymin(x) ≤ y ≤ ymax(x).
Triple Integration:
Syntax
q = integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax)
q = integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax,Name,Value)
38
Description
q = integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax) approximates the integral of the
function z = fun(x,y,z) over the
region xmin ≤ x ≤ xmax, ymin(x) ≤ y ≤ ymax(x) and zmin(x,y) ≤ z ≤ zmax(x,y).
Questions:
1. The Spar Extension of the Airfoil NACA 2414 in a section middle of the Airfoil is
evaluated by integrating the Equation of the Curvature by keeping the limits as
distances of both the ends from the Root Chord Locations respectively. Get the Spar
Extension value of a section whose endpoints are at a distances of 4 and 9 meters
respectively from the Root Chord respectively.
MATLAB CODES:
>> fun = @(x) (1+x)./(x+2.*sqrt(x)-3);
>> q=integral(fun,4,9)
Result:
q=
4.4280
Interpretation:
From the Integration, we get to know that a spar of length 4.428m is required to be placed at
that area of the airfoil.
39
MATLAB Codes:
>> fun = @(x) sin(x).*4.*cos(x).*exp(2*cos(x)+1);
>> r=integral(fun,0,pi/2)
Result:
r=
22.8038
Interpretation:
Hence an Impulse force of 22.80 Newtons has to be propelled by the onboard
thrusters in order to switch to the desired orbit.
3. When an Aircraft flies in supersonic speeds, there is heat generation on the outer
surfaces of the aircraft. Considering the surface to be a 2 dimensional object, The heat
generation is taken in 2 components which is in X and Y direction. On a particular
areal section of an aircraft flying at Mach 2.8, The heat generation in Kilojoules is
given by integrating the given equation with the area magnitudes as limits. Obtain the
heat generated on this Particular aircraft.
MATLAB Code:
>> func = @(x,y) 1+8.*x.*y;
>> s=integral2(func,0,3,1,2)
Result:
s = 57
40
Interpretation:
The Heat generated on that particular part of the surface is obtained to be 57
Kilojoules by the method of double Integration.
MATLAB Code:
>> funct = @(x,y,z) x.*y.*z;
>> xmin=0
>> xmax=1;
>> ymin=0;
>> ymax=1;
>> zmin=@(x,y) sqrt(x.^2+y.^2);
>> zmax= 2;
>> q = integral3(funct,xmin,xmax,ymin,ymax,zmin,zmax)
Result:
q=
0.375
Interpretation:
The Volume of the Mach cone or the zone of action is determined to be 0.375 Cubic
kilometres.
41
Description
Q = trapz(Y) computes the approximate integral of Y via the trapezoidal method with unit
spacing. The size of Y determines the dimension to integrate along:
• If Y is a vector, then trapz(Y) is the approximate integral of Y.
• If Y is a matrix, then trapz(Y) integrates over each column and returns a row vector of
integration values.
• If Y is a multidimensional array, then trapz(Y) integrates over the first dimension whose size
does not equal 1. The size of this dimension becomes 1, and the sizes of other dimensions
remain unchanged.
Q = trapz(___,dim) integrates along the dimension dim using any of the previous syntaxes.
You must specify Y, and optionally can specify X. If you specify X, then it can be a scalar or
a vector with length equal to size(Y,dim). For example, if Y is a matrix,
then trapz(X,Y,2) integrates each row of Y.
Cumtrapz:
Syntax
Q = cumtrapz(Y)
Q = cumtrapz(X,Y)
42
Q = cumtrapz(___,dim)
Description
Q = cumtrapz(___,dim) integrates along the dimension dim using any of the previous
syntaxes. You must specify Y, and optionally can specify X. If you specify X, then it can be a
scalar or a vector with length equal to size(Y,dim). For example, if Y is a matrix,
then cumtrapz(X,Y,2) cumulatively integrates each row of Y.
SQuestions:
1. In the experimentation process of measure surface pressure distribution across
a wing surface placed in a supersonic wind tunnel, the Net Lift generated is
obtained by integrating the a depending pressure factor with respect to the
distance or the position of the sensor with respect to the leading edge tip with
the help on integration with unit spacing. The data of the dependent factor and
the sensor position is given as follows:
10 0.892
Find the value of lift generated using the given data with the help of Unit Spacing Integration.
MATLAB Code:
>> location = [0 0.1 0.2 0.4 0.8 1.5 2.7 3.9 5.2 6.5 7.8 9 10]
>> Factor = [1 0.6111 0.3889 0.222 0.556 0.333 0.7222 0.555 0.3889 0.6578 0.5642 0.1203
0.892]
>> y=trapz(location,Factor)
Result:
y=
5.0629
Interpretation:
Hence a net Lift of 5 Newtons is generated on the scaled-down wing model which is being
tested in the supersonic Wind Tunnel.
2. The braking system of the landing Wheels of a Long haul Boeing 787 is being
tested. The Static Braking Distance of the wheels is dependent on the
Coefficient of Static Friction between the disk brakes used in the flight. The
Total braking distance is obtained by integrating the Coefficient of Static
Friction values per unit time in minutes. Gives the values of Coefficient of
Static friction of a trial. Compute the Static Braking Distance of the flight.
7 4.213
8 5.658
9 7.1453
10 9.546
MATLAB Code:
>> Friction_factor = [1.13 1.68 1.86 2.032 2.521 3.12 4.213 5.658 7.1453 9.546];
>> x=cumtrapz(Friction_factor)
Result:
x=
Columns 1 through 6
Columns 7 through 10
Interpretation:
The Static Braking Distances for each time Interval in minutes have been computed for this
Flight.
45
sol = ode45(___) returns a structure that you can use with deval to evaluate the solution at
any point on the interval [t0 tf]. You can use any of the input argument combinations in
previous syntaxes.
[t,y] = ode23(odefun,tspan,y0), where tspan = [t0 tf], integrates the system of differential
equations y'=f(t,y) from t0 to tf with initial conditions y0. Each row in the solution
array y corresponds to a value returned in column vector t.
All MATLAB® ODE solvers can solve systems of equations of the form y'=f(t,y), or
problems that involve a mass matrix, M(t,y)y'=f(t,y). The solvers all use similar syntaxes.
The ode23s solver only can solve problems with a mass matrix if the mass matrix is
constant. ode15s and ode23t can solve problems with a mass matrix that is singular, known as
differential-algebraic equations (DAEs). Specify the mass matrix using the Mass option
of odeset.
46
Questions:
1. Calculate the rate of temperature change with respect to time in the conduction
heat transfer of rod of length 10 metre. The material has thermal conductivity
of 100W/m2 K and the area of the rod be 12*10-2 metre2.
MATLAB Code:
Q=(10:1:100)
k=100
A=12*10^-2
t=(Q./-k*A)
tspan=[0 400]
y0=0
[Q,t] = ode45(@(Q,t)Q./-k*A, tspan, y0)
[Q,t]=meshgrid(-10:1:10)
R=Q./t
surf(Q,t,R)
xlabel('Heat flux')
ylabel('Temperature change')
zlabel('resistance')
title('Variation of heat transfer by conduction wrt heat flux, temperature,resistance along the
rod')
47
Results:
2. There is spherical tank for storing water. The tank is filled through a hole in
the top and drained through a hole in the bottom. If the tank’s radius is r, you
can use integration to show that the volume of water in the tank as a function
of its height h is given by
ℎ3
𝑉(ℎ) = 𝜋ℎ2 𝑟 − 𝜋
3
Find the Draining rate from the tank.
Solution:
Torricelli’s principle states that the liquid ow rate through the hole is
proportional to the square root of the height h. Further studies in fluid
mechanics have identified the relation more precisely, and the result is that the
volume ow rate through the hole is given by
𝑞 = 𝐶𝑑 𝐴√2𝑔ℎ
where A is the area of the hole, g is the acceleration due to gravity, and Cd is
an experimentally determined value that depends partly on the type of liquid.
For water, Cd=0.6 is a common value. We can use the principle of
conservation of mass to obtain a
48
differential equation for the height h. Applied to this tank, the principle says
that the rate of change of liquid volume in the tank must equal the ow rate out
of the tank; that is,
𝑑ℎ 0.0334√ℎ
=−
𝑑𝑡 10ℎ − ℎ2
MATLAB Code:
t=(0:1:247);
h=(0:1:10);
[t, h]= ode45 (@(t,h) (sqrt(h))/(10*h+h^2),[0,2475], 10)
plot(t,h) ,xlabel('Time (sec)'), ylabel('Height (ft)')
[t, y] = ode45(@(t,y) 2*exp(-10*t) ,tspan, 2);
Results:
49
Interpretation:
The resulting plot is shown in Figure. Note how the height changes more rapidly when the
tank is nearly full or nearly empty. This is to be expected because of the effects of the tank’s
curvature. The tank empties in 2475 sec, or 41 min. This value is not grossly different from
our rough estimate of 52 min, so we should feel comfortable accepting the numerical results.
The value of the nominal time of 2475 sec was found by increasing the nominal time until the
plot showed that the height became 0.
𝑔
𝜃(𝑡) = 𝜃(0) cos √ 𝑡
𝐿
MATLAB Code:
Results:
50
Theory:
In mathematics and science, a nonlinear system is a system in which the change of the output
is not proportional to the change of the input. Nonlinear problems are of interest to engineers,
biologists, physicists, mathematicians, and many other scientists because most systems are
inherently nonlinear in nature. Nonlinear dynamical systems, describing changes in variables
over time, may appear chaotic, unpredictable, or counterintuitive, contrasting with much
simpler linear systems.
As nonlinear dynamical equations are difficult to solve, nonlinear systems are commonly
approximated by linear equations (linearization). This works well up to some accuracy and
some range for the input values, but some interesting phenomena such as solitons, chaos, and
singularities are hidden by linearization. It follows that some aspects of the dynamic
behaviour of a nonlinear system can appear to be counterintuitive, unpredictable or even
chaotic. Although such chaotic behaviour may resemble random behaviour, it is in fact not
random. For example, some aspects of the weather are seen to be chaotic, where simple
changes in one part of the system produce complex effects throughout. This nonlinearity is
one of the reasons why accurate long-term forecasts are impossible with current technology.
NONSTIFF ODES
This page contains two examples of solving non-stiff ordinary differential equations using
ode45. MATLAB has three solvers for non-stiff ODEs.
• ode45
• ode23
• ode113
For most non-stiff problems, ode45 performs best. However, ode23 is recommended for
problems that permit a slightly cruder error tolerance or in the presence of moderate stiffness.
Likewise, ode113 can be more efficient than ode45 for problems with stringent error
tolerances.
51
If the non-stiff solvers take a long time to solve the problem or consistently fail the
integration, then the problem might be stiff. See for more information.
STIFF ODES
This page contains two examples of solving stiff ordinary differential equations using ode15s.
MATLAB® has four solvers designed for stiff ODEs.
• ode15s
• ode23s
• ode23t
• ode23tb
For most stiff problems, ode15s performs best. However, ode23s, ode23t, and ode23tb can be
more efficient if the problem permits a crude error tolerance.
Questions:
Solve the equation for data of Thrust and Fuel input Values.
52
MATLAB Code:
Fun=@(x,y) y=x1^2-3*x+27
A= [0 12];
B = 27;
plot(x,y,'-o')
Result:
A=
0.121
1.3721
1.7443
1.1164
1.4885
3.3492
5.2098
7.0705
8.9312
12.1312
15.3312
53
18.5312
21.7312
24.9312
28.1312
31.3312
34.5312
37.7312
40.9312
44.1312
47.3312
50.5312
53.7312
56.9312
60.1312
63.3312
66.5312
69.7312
72.9312
76.1312
79.3312
82.5312
85.7312
54
88.9312
92.1312
95.3312
98.5312
101.7312
104.9312
108.1312
111.3312
114.5312
117.7312
120.9312
124.1312
125.0984
126.0656
127.0328
128.0000
B=
1.0+06 *
55
0.0200
0.0211
0.0223
0.0237
0.0252
0.0353
0.0491
0.0668
0.0884
0.1344
0.1918
0.2606
0.3408
0.4323
0.5352
0.6494
0.7750
0.9120
1.0603
1.2200
1.3911
1.5736
56
1.7674
1.9726
2.1891
2.4170
2.6563
2.9069
3.1689
3.4423
3.7270
4.0232
4.3306
4.6495
4.9797
5.3212
5.6742
6.0385
6.4142
6.8012
7.1996
7.6094
8.0305
8.4630
57
8.9069
9.0433
9.1807
9.3192
9.4587
Graph:
Interpretation:
Thus different values of Fuel input factor for different thrusts generated by the engines are
being computed and plotted for observations.
58
MATLAB Code:
fun=@(y,t) y2-y1^2=t.^2*exp(t)
A= [0 1.41];
B = 5.65;
plot(a,b,'-o')
Result:
a=
1.343
1.2310
1.2230
1.5630
59
0.7800
0.7050
0.8460
0.9870
1.1280
1.2690
1.4100
b=
5.6500
5.6898
5.8090
6.0079
6.2862
6.6441
7.0814
7.5983
8.1948
8.8707
9.6262
60
Graph:
Interpretation:
Thus the Deposition of ice gradients for a given range of temperatures are being computed.
3. The visibility of the Aircraft’s Wing mounted lights varies with the change in
humidity. The expresssion that gives a relation between the intensity from the
light with the humidity is given by:
𝑦′′2 + 3𝑦 = 𝑡 3 − 1
Where y denotes the Visibility in meters and t represents he humidity present in that place.
Solve this differential equation using MATLAB.
61
MATLAB Code:
fun=@(y,t) y2.^2+3*y=t.^3-1
A= [5 1];
B = 2;
plot(x,y,'-o')
Result:
m=
5.0000
5.0000
5.0000
5.0000
5.0000
5.0000
5.0000
-2.9999
-2.9998
-2.9997
-2.9993
62
-2.9987
-1.9973
-1.9946
-1.9892
-1.9784
-1.9568
-1.9136
-1.8273
-1.6546
-1.3546
-1.0546
-0.7546
-0.4546
-0.1546
0.1454
0.4454
0.7454
1.0000
63
n=
-0.0000
-0.0000
-0.0001
-0.0001
-0.0002
-0.0005
-0.0010
-0.0020
-0.0040
-0.0081
-0.0162
-0.0323
-0.0646
-0.1287
-0.2558
-0.5052
-0.9853
-1.8737
-3.3886
64
-5.3233
-6.5786
-7.3495
-7.7827
-7.9760
-7.9787
-7.7918
-7.3672
-6.7500
Interpretation:
Hence the variation between these two factors are being computed.
65
To define the simplest kind of parabolic PDE, consider a real-valued function u(x,y) of two
independent real variables, x and y. A second-order, linear, constant-coefficient PDE for
takes the form
and this PDE is classified as being parabolic if the coefficients satisfy the condition.
Usually x represents one-dimensional position and y represents time, and the PDE is solved
subject to prescribed initial and boundary conditions.
The name "parabolic" is used because the assumption on the coefficients is the same as the
condition for the analytic geometry equation
where u(x,t) is the temperature at time t and at position x along a thin rod, and α is a positive
constant (the thermal diffusivity). The symbol Ut signifies the partial derivative of u with
respect to the time variable t, and similarly Uxx is the second partial derivative with respect
to x. For this example, t plays the role of y in the general second-order linear PDE: A=𝛼, E=-
1, and the other coefficients are zero.
66
Functions:
1. pdepe :
pdepe Solve initial-boundary value problems for systems of parabolic and elliptic PDEs in
one space variable and time. In the form of:
𝜕𝑢 𝜕𝑢 𝜕 𝑚 𝜕𝑢 𝜕𝑢
𝑐 (𝑥, 𝑡, 𝑢, ) = 𝑥 −𝑚 (𝑥 𝑓(𝑥, 𝑡, 𝑢, )) + 𝑠(𝑥, 𝑡, 𝑢, )
𝜕𝑥 𝜕𝑡 𝜕𝑥 𝜕𝑥 𝜕𝑥
The PDEs hold for t0 ≤ t ≤ tf and a ≤ x ≤ b. The interval [a,b] must be finite. m can be 0, 1, or
2, corresponding to slab, cylindrical, or spherical symmetry, respectively. If m > 0, then a
must be ≥ 0.
In the Equation, f (x,t,u,∂u/∂x) is a flux term and s (x,t,u,∂u/∂x) is a source term. The
coupling of the partial derivatives with respect to time is restricted to multiplication by a
diagonal matrix c (x,t,u,∂u/∂x). The diagonal elements of this matrix are either identically
zero or positive. An element that is identically zero corresponds to an elliptic equation and
otherwise to a parabolic equation. There must be at least one parabolic equation. An element
of c that corresponds to a parabolic equation can vanish at isolated values of x if those values
of x are mesh points. Discontinuities in c and/or s due to material interfaces are permitted
provided that a mesh point is placed at each interface.
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan)
sol = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan,options)
[sol,tsol,sole,te,ie] = pdepe(m,pdefun,icfun,bcfun,xmesh,tspan,options)
Where, m:
pdefun:
icfun :
bcfun:
xmesh:
A vector [x0, x1, ..., xn] specifying the points at which a numerical solution is requested for
every value in tspan. The elements of xmesh must satisfy x0 < x1 < ... < xn. The length of
xmesh must be >= 3.
tspan:
A vector [t0, t1, ..., tf] specifying the points at which a solution is requested for every value in
xmesh. The elements of tspan must satisfy t0 < t1 < ... < tf. The length of tspan must be >= 3.
options:
Some options of the underlying ODE solver are available in pdepe: RelTol, AbsTol,
NormControl, InitialStep, MaxStep, and Events. In most cases, default values for these
options provide satisfactory solutions. See odeset for details.
2. pdeval :
pdeval Evaluates numerical solution of PDE using output of pdepe and its syntax is:
[uout,duoutdx] = pdeval(m,x,ui,xout)
Where , m:
Symmetry of the problem: slab = 0, cylindrical = 1, spherical = 2. This is the first input
argument used in the call to pdepe.
x:
A vector [x0, x1, ..., xn] specifying the points at which the elements of ui were computed.
This is the same vector with which pdepe was called.
68
ui:
A vector sol(j,:,i) that approximates component i of the solution at time tf and mesh points
xmesh, where sol is the solution returned by pdepe.
xout:
A vector of points from the interval [x0,xn] at which the interpolated solution is requested.
Questions:
1. Solve the Heat Equation using MATLAB.
MATLAB Code:
A = tmax/((nt+1)^2);
y = linspace(0,ymax,my);
t = A*((1:mt)+1).^2;
u = pdepe(0,@pdfslpde,@pdfslic,@pdfslbc,y,t,[],mu,Umax);
69
MATLAB Code:
A = tmax/((qt+1)^2);
n = linspace(0,nmax,qn);
t = A*((1:qt)+1).^2;
v = pdepe(0,@pdfslpde,@pdfslic,@pdfslbc,n,t,[],qu,vmax);