COMPUTATIONAL LAB

(ME-106)

INTRODUCTION

TO

MATLAB

By

K.Kiran Kumar

Assistant professor

Mechanical Engineering Department

B.S.Abdur Rahman University

Email:- [email protected]

Ph.no:- 9047475841

WHAT IS MATLAB?

MATLAB (MATrix LABoratory) is basically a high level language

which has many specialized toolboxes for making things easier for us.

MATLAB is a program for doing numerical computation. It was

originally designed for solving linear algebra type problems using

matrices. It‟s name is derived from MATrix LABoratory.

MATLAB has since been expanded and now has built-in functions for

solving problems requiring data analysis, signal processing, optimization,

and several other types of scientific computations. It also contains

functions for 2-D and 3-D graphics and animation.

Powerful, extensible, highly integrated computation, programming,

visualization, and simulation package.

Widely used in engineering, mathematics, and science.

Why?

FEATURES

o MATLAB is an interactive system for doing

numerical computations. MATLAB makes use of

highly respected algorithms and hence you can be

confident about your results.

Powerful operations can be performed using just

one or two commands. You can also build your

own set of functions. Excellent graphics facilities

are included.

MATLAB TOOLBOXES

Math and Analysis Signal & Image Processing

Optimization Signal Processing

Requirements Management Interface Image Processing

Statistics Communications

Neural Network Frequency Domain Identification

Symbolic/Extended Math Higher-Order Spectral Analysis

Partial Differential Equations System Identification

PLS Toolbox Wavelet

Mapping Filter Design

Spline

Control Design

Data Acquisition and Import Control System

Data Acquisition Fuzzy Logic

Instrument Control Robust Control

Excel Link μ-Analysis and Synthesis

Portable Graph Object Model Predictive Control

SIMULINK

A simulation tool for dynamic systems

Input Output

System

Simulink library Browser:

Collection of sources, system modules, sinks

WHAT ARE WE INTERESTED IN?

MATLAB is too broad tool used in industry and Research for real

time interfacing of sensors and machine vision etc. and

programming the real time systems for active control of the

system behavior.

For our course purpose in this Laboratory we will have brief

overview of basics and learn what can be done with MATLAB at

beginner level.

WHY DO WE

NEED TO

PERFORM

ANALYSIS IN

MATLAB ???

AREAS WHERE MECHANICAL

ENGINEERS USE MATLAB

Solving kinematics, kinetics and complete

dynamic systems control of Automotive

suspension , Thermal systems etc.,

AERO PLANE SUSPENSION OF LANDING GEAR

M

M

Mg Fs Fc

Yo

Ys M d 2 yo Mg Fc Fs

dt 2

Yin

BASICS Displacement

D

distance

35 Metres Time

Speed Velocity

65 m/s V

0-60 m/s Time

in 8.6

second Acceleration

A

Time

UNDAMPED FREE VIBRATION

Displacement d = D sinnt Displacement

D Time 1 Frequency

T

T m

k

Period, Tn in [sec]

Frequency, fn= 1 in [Hz = 1/sec]

Tn

k

n= 2 fn = m

CONTINUED…

Natural frequency of a simple single degree of

freedom undamped system is given by the

equation

ωN = square root of (stiffness / mass)

Usually we do not want structures to vibrate in

resonance

COMPONENTS OF A CAR

For comfortable ride in a car requires analysis of

car frame and many other components, e.g.

exhaust systems (bellows), shock absorber, tire

etc.

Let us look into a shock absorber in more detail

We know what a typical shock absorber does

saves us from unpleasant vibration.

Let us look at a quarter bus/truck/car model

ms xs

ks cs

xu

mu u

kt

u = road profile input ks = suspension spring constant

kt = tire spring constant cs = suspension damping constant

mu = unsprung mass ms = sprung mass

xu = displacement of unsprung masxss = displacement of sprung mass

FOUR WHEELER SUSPENSION SYSTEM 15

Consider the following suspension system.

Solve for y given yin

M

Mg

Suspension system y

ys

yin

SUSPENSION SYSTEM IN FOUR

WHEELER

CONTINUED…

CONTINUED…

CONTINUED…

CONVENTIONAL PASSIVE SUSPENSION

sprung mass zs

(body) Ms

suspension damper

suspension spring zu

unsprung mass zr

(wheel, axle) Mu

tyre stiffness Kt

MATLAB MODEL FOR

BUS SUSPENSION

Designing an automatic suspension system for a bus

MATLAB SCREEN

VARIABLES

No need for types. i.e.,

int a;

double b;

float c;

Accuracy and comfort is very high with matlab codes.

>>x=5;

>>x1=2;

ARRAY, MATRIX

LONG ARRAY, MATRIX

GENERATING VECTORS FROM FUNCTIONS

MATRIX INDEX

OPERATORS (ARITHMETIC)

MATRICES OPERATIONS

THE “DOT OPERATOR”

By default and whenever possible MATLAB

will perform true matrix operations (+ - *). The

operands in every arithmetic expression are

considered to be matrices.

If, on the other hand, the user wants the scalar

version of an operation a “dot” must be put in

front of the operator, e.g., .*. Matrices can still

be the operands but the mathematical

calculations will be performed element-by-

element.

A comparison of matrix multiplication and

scalar multiplication is shown on the next slide.

OPERATORS (ELEMENT BY ELEMENT)

DOT OPERATOR EXAMPLE

>> A = [1 5 6; 11 9 8; 2 34 78]

A=

156

11 9 8

2 34 78

>> B = [16 4 23; 8 123 86; 67 259 5]

B=

16 4 23

8 123 86

67 259 5

DOT OPERATOR EXAMPLE (CONT.)

>> C = A * B % “normal” matrix multiply

C=

2173 483

458 3223 1067

784 24392 3360

5530

>> CDOT = A .* B % element-by-element

CDOT =

20 138

16 1107 688

88 8806 390

134

THE USE OF “.” -OPERATION

MATLAB FUNCTIONS

COMMON MATH FUNCTIONS

BUILT-IN FUNCTIONS FOR HANDLING ARRAYS

MATLAB BUILT-IN ARRAY FUNCTIONS

» eye(2) Standard Arrays

ans = Other such arrays:

ones(n), ones(r, c)

10 zeros(n), zeros(r, c)

01 rand(n), rand(r,c)

» eye(2,3)

ans =

100

010

»

RANDOM NUMBERS GENERATION

COMPLEX NUMBERS HANDLING

FUNCTIONS

MATRIXES AND VECTORS

x = [1,2,3] , vector-row,

y=[1;2;3], vector-column,

x=0:0.1:0.8 , vector x=[0,0.1,0.2,0.3....0.8],

A = [1,3,5;5,6,7;8,9,10], matrix,

A(1,2), element of matrix, 1. row, 2. column,

A(:,2), second column of matrix,

A(1,:), first row of matrix ,

C=[A;[10,20,30]] matrix with additional row,

B=A(2:3,1:2), part of matrix,

x‟, transpose.

42

MATRIXES AND VECTORS

size(A), matrix size,

det(A), determinant,

inv(A), inverse matrix,

eye(3), unit matrix,

zeros(3,4), matrix of zeros,

rand(3,5), matrix of random values,

sum(A), sum of elements,

A*x, matrix-vector product (if dimensions are

corresponding),

A.*B, element multiplication of two matrixes.

help sqrt, looking for known command,

help, help topics are shown,

43

INTRODUCTION TO M-FILES PROGRAMMING

Type-1 Type-2

programming Programming

Program:- Program:-

clc; clc;

clear all; clear all;

p=10,000; p=input('enter the value of p:');

t=2; t=input('enter the value of t:');

r=11; r=input('enter the value of r:');

I=(p*t*r)/100; I=(p*t*r)/100

Solution:- Solution:-

I = 2200 Input:

enter the value of p:10000

enter the value of t:2

enter the value of r:11

Output:

I = 2200

GRAPHICS AND DATA DISPLAY

2-D plotting functions

>> plot(x,y) % linear Cartesian

>> semilogx(x,y) % logarithmic abscissa

• uses base 10 (10n for axis units)

>> semilogy(x,y) % logarithmic ordinate

• uses base 10 (10n for axis units)

>> loglog(x, y) % log scale both dimensions

• uses base 10 (10n for axis units)

>> polar(theta,rho) % angular and radial

CONTINUED..

2-D display variants

Cartesian coordinates

>> bar(x,y) % vertical bar graph

>> barh(x,y) % horizontal bar graph

>> stem(x,y) % stem plot

>> area(x,y) % color fill from horizontal axis to line

>> hist(y,N) % histogram with N bins (default N = 10)

Polar coordinates

>> pie(y)

>> rose(theta,N) % angle histogram, N bins (default 10)

GRAPHICS AND DATA DISPLAY

3-D Plotting syntax

Line

>> plotfunction(vector1, vector2, vector3)

Vector lengths must be the same

► Example

>> a = 1:0.1:30;

>> plot3( sin(a), cos(a), log(a) )

Pie

>> pie3(vector)

One dimensional data, but 3-D pie perspective

GRAPHICS AND DATA DISPLAY

3-D surface plotting functions

>> contour(x,y,Z) % projection into X-Y plane

>> surf(x,y,Z) % polygon surface rendering

>> mesh(x,y,Z) % wire mesh connecting vertices

>> waterfall(x,y,Z)

• like mesh but without column connection lines

• used for column-oriented data

BASIC TASK: PLOT THE FUNCTION

SIN(X) BETWEEN 0≤X≤4Π

PLOT THE FUNCTION BETWEEN 0≤X≤4Π