matlab the language of technical computing mr. d. suresh assistant professor, dept. of cse, psna...

35
Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Upload: christian-daniel-jenkins

Post on 04-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Matlab The language of Technical computing

Mr. D. Suresh Assistant Professor,

Dept. of CSE, PSNA CET, Dindigul

Page 2: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

What is Matlab? Matlab is basically a high level language

which has many specialized toolboxes for making things easier for us

How high?

Assembly

High Level Languages such as

C, Pascal etc.

Matlab

Page 3: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Mat lab Intro Contd….

The name MATLAB stands for MATrix LABoratory.

MATLAB was written originally to provide easy access to matrix software

developed by the LINPACK (linear system package) and EISPACK (Eigen system package) projects.

Page 4: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Matlab Screen Command Window

type commands

Current Directory View folders and m-files

Workspace View program variables Double click on a variable

to see it in the Array Editor

Command History view past commands save a whole session

using diary

Page 5: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Variables No need for types. i.e.,

All variables are created with double precision unless specified and they are matrices.

After these statements, the variables are 1x1 matrices with double precision

int a;double b;float c;

Example:>>x=5;>>x1=2;

Page 6: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Array, Matrix a vector x = [1 2 5 1]

x = 1 2 5 1

a matrix y = [1 2 3; 5 1 4; 3 2 -1]

y = 1 2 3 5 1 4 3 2 -1

transpose z = xt z = 1

2 5

1

Page 7: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Long Array, Matrix

t =1:10

t = 1 2 3 4 5 6 7 8 9 10 k =2:-0.5:-1

k = 2 1.5 1 0.5 0 -0.5 -1

B = [1:4; 5:8]

x = 1 2 3 4 5 6 7 8

Page 8: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Generating Vectors from functions zeros(M,N) MxN matrix of zeros

ones(M,N) MxN matrix of ones

x = zeros(1,3)

x =

0 0 0

x = ones(1,3)

x =

1 1 1

Page 9: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Matrix Index The matrix indices begin from 1 (not 0 (as in C)) The matrix indices must be positive integer

Given:

Page 10: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Concatenation of Matrices

x = [1 2], y = [4 5], z=[ 0 0]

A = [ x y]

1 2 4 5

B = [x ; y]

1 2

4 5

Page 11: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Operators (arithmetic)

+ addition

- subtraction

* multiplication

/ division

^ power

` transpose

Page 12: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Matrices Operations

Given A and B:

Addition Subtraction Product Transpose

Page 13: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Operators (Element by Element)

.* element-by-element multiplication

./ element-by-element division

.^ element-by-element power

Page 14: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

The use of “.” – “Element” OperationA = [1 2 3; 5 1 4; 3 2 -1]

A = 1 2 3 5 1 4 3 2 -1

y = A(: ,3)

y= 3 4 -1

b = x .* y

b= 3 8 -3

c = x . / y

c= 0.33 0.5 -3

d = x .^2

d= 1 4 9

x = A(1,:)

x= 1 2 3

Page 15: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Display Facilities

title(.)

xlabel(.)

ylabel(.)

>>title(‘This is the sinus function’)

>>xlabel(‘x (secs)’)

>>ylabel(‘sin(x)’)0 10 20 30 40 50 60 70 80 90 100

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1This is the sinus function

x (secs)

sin(

x)

Page 16: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Operators (relational, logical)

== Equal to ~= Not equal to < Strictly smaller > Strictly greater <= Smaller than or equal to >= Greater than equal to & And operator | Or operator

Page 17: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Flow Control

if for while break ….

Page 18: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Control Structures

If Statement Syntax

if (Condition_1)Matlab Commands

elseif (Condition_2)Matlab Commands

elseif (Condition_3)Matlab Commands

elseMatlab Commands

end

Some Dummy Examples

if ((a>3) & (b==5)) Some Matlab Commands;end

if (a<3) Some Matlab Commands;elseif (b~=5) Some Matlab Commands;end

if (a<3) Some Matlab Commands;else Some Matlab Commands;end

Page 19: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Control Structures

For loop syntax

for i=Index_Array

Matlab Commands

end

Some Dummy Examples

for i=1:100 Some Matlab Commands;end

for j=1:3:200 Some Matlab Commands;end

for m=13:-0.2:-21 Some Matlab Commands;end

Page 20: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Control Structures

While Loop Syntax

while (condition)

Matlab Commands

end

Dummy Example

while ((a>3) & (b==5)) Some Matlab Commands;end

Page 21: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Creating simple plots

>> x = [1 2 3 4 5 6]; >> y = [3 -1 2 4 5 1]; >> plot(x,y)

Page 22: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Managing the workspace

>> clear

The command clear or clear all removes all variables from the workspace. This frees up system memory.

>> who

while, whos will give more details which include size, space allocation, and class of the variables.

Page 23: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Deleting row or column

To delete a row or column of a matrix, use the empty vector operator, [ ].

>> A(3,:) = []

To determine the dimensions of a matrix or vector, use the command size. For example,

>> size(A)

ans =

3 3

Page 24: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Use of M-File

Click to create a new M-File

• Extension “.m” • A text file containing script or function or program to run

Page 25: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Notes: “%” is the neglect sign for Matlab (equivalent

of “//” in C). Anything after it on the same line is neglected by Matlab compiler.

Sometimes slowing down the execution is done deliberately for observation purposes. You can use the command “pause” for this purpose

pause %wait until any keypause(3) %wait 3 seconds

Page 26: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Useful Commands

The two commands used most by Matlab

users are

>>help functionname

>>lookfor keyword

Page 27: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Matlab Tools

Simulink Bioinformatics Toolbox Communications Blockset

Communications Toolbox

Control System Toolbox

Curve Fitting Toolbox

Data Acquisition Toolbox

Database Toolbox Embedded IDE Link CC

Filter Design Toolbox Financial Toolbox Fixed-Point Toolbox

Fuzzy Logic Toolbox Image Acquisition Toolbox

Image Processing Toolbox

Instrument Control Toolbox

Neural Network Toolbox

Optimization Toolbox

Parallel Computing Toolbox

Signal Processing Toolbox

Statistics Toolbox

System Identification Toolbox

Wavelet Toolbox Robust Control Toolbox

Page 28: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Image Processing ToolboxRead an Image:

I = imread('pout.tif')

Display an image:

imshow(I)

Page 29: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Image Processing Toolbox – cond…Write the Image to a Disk File

imwrite (I1, 'pout2.png')

Check the Contents File

imfinfo('pout2.png‘) (Filename,FileModDate,

FileSize,Format:'png‘,FormatVersion Width, Height, BitDepth,ColorType)

Page 30: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Image Processing Toolbox -cond…Adjusts the contrast in the image

imadjust( Name)

Create a Binary Version of the Image

im2bw - to convert the grayscale image into a binary image by using thresholding.

graythresh automatically computes an appropriate threshold to use to convert the grayscale image to binary.

Page 31: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Image Processing Toolbox – cond…Resize an Image

imresize(I,1.25) -specify the image to be resized and the magnification factor.

Rotating an Image

imrotate(I,35,'bilinear')

Page 32: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Image Processing Toolbox – cond…imtool 

imtool(I,[low high]) displays the grayscale image I in the Image Viewer,low is displayed as black, high is displayed as white.

Imcrop

imcrop(I)

Page 33: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Image Processing Toolbox – cond…Imnoise

imnoise(I,type)Ex: imnoise(Image,salt &pepper)

I specify Image ,type specify types of noises.

Page 34: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Image Processing Toolbox – cond…Image Quality

1.Immse (Mean-squared error)

It calculate in noisy image

2. psnr (Peak Signal-to-Noise Ratio)

3. ssim

Structural Similarity Index (SSIM) for measuring image quality

Page 35: Matlab The language of Technical computing Mr. D. Suresh Assistant Professor, Dept. of CSE, PSNA CET, Dindigul

Thank You…