introduction to matlab computer fundamentals by engr. mohammad haroon yousaf

40
Introduction to Matlab Computer Fundamentals Computer Fundamentals by by Engr. Mohammad Haroon Yousaf Engr. Mohammad Haroon Yousaf

Upload: dorthy-young

Post on 26-Dec-2015

239 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Introduction to Matlab

Computer FundamentalsComputer Fundamentalsbyby

Engr. Mohammad Haroon YousafEngr. Mohammad Haroon Yousaf

Page 2: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Topics

• Introduction• MATLAB Environment• Getting Help• Variables• Vectors, Matrices, and Linear Algebra• Plotting• Built in Functions• Selection Programming• M-Files• User Defined Functions• Specific Topics

Page 3: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Introduction

What is MATLAB ?• MATLAB is a computer program that combines computation and

visualization power that makes it particularly useful tool for engineers.• MATLAB is an executive program, and a script can be made with a list

of MATLAB commands like other programming language.

MATLAB Stands for MATrix LABoratory.• The system was designed to make matrix computation particularly easy.

The MATLAB environment allows the user to:• manage variables• import and export data• perform calculations• generate plots• develop and manage files for use with MATLAB.

Page 4: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

To start MATLAB:

START PROGRAMS MATLAB 7.0 MATLAB 7.0

MATLABEnvironment

Page 5: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Display Windows

Page 6: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Display Windows (con’t…)

• Graphic (Figure) Window– Displays plots and graphs– Created in response to graphics commands.

• M-file editor/debugger window– Create and edit scripts of commands called M-files.

Page 7: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Getting Help

• type one of following commands in the command window:– help – lists all the help topic– help topic – provides help for the specified topic– help command – provides help for the specified command

• help help – provides information on use of the help command

– helpwin – opens a separate help window for navigation– lookfor keyword – Search all M-files for keyword

Page 8: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Getting Help (con’t…)

• Google “MATLAB helpdesk”• Go to the online HelpDesk provided by

www.mathworks.com

You can find EVERYTHING you need to know about MATLAB from the online HelpDesk.

Page 9: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Variables

• Variable names:– Must start with a letter

– May contain only letters, digits, and the underscore “_”

– Matlab is case sensitive, i.e. one & OnE are different variables.

– Matlab only recognizes the first 31 characters in a variable name.

• Assignment statement:– Variable = number;

– Variable = expression;

• Example:>> tutorial = 1234;

>> tutorial = 1234

tutorial =

1234

NOTE: when a semi-colon ”;” is placed at the end of each command, the result is not displayed.

Page 10: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Variables (con’t…)

• Special variables:– ans : default variable name for the result– pi: = 3.1415926…………– eps: = 2.2204e-016, smallest amount by which 2 numbers can differ.

– Inf or inf : , infinity– NaN or nan: not-a-number

• Commands involving variables:– who: lists the names of defined variables– whos: lists the names and sizes of defined variables– clear: clears all varialbes, reset the default values of special

variables.– clear name: clears the variable name– clc: clears the command window– clf: clears the current figure and the graph window.

Page 11: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Vectors, Matrices and Linear Algebra

• Vectors

• Array Operations

• Matrices

• Solutions to Systems of Linear Equations.

Page 12: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

MATLAB BASICSMATLAB BASICS

Variables and Arrays• Array: A collection of data values organized into rows

and columns, and known by a single name.

Row 1

Row 2

Row 3

Row 4

Col 1 Col 2 Col 3 Col 4 Col 5

arr(3,2)

Page 13: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

MATLAB BASICSMATLAB BASICS

Arrays

• The fundamental unit of data in MATLAB

• Scalars are also treated as arrays by MATLAB (1 row and 1 column).

• Row and column indices of an array start from 1.

• Arrays can be classified as vectors and matrices.

Page 14: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

MATLAB BASICSMATLAB BASICS

• Vector: Array with one dimension

• Matrix: Array with more than one dimension

• Size of an array is specified by the number of rows and the number of columns, with the number of rows mentioned first (For example: n x m array).

Total number of elements in an array is the product of the number of rows and the number of columns.

Page 15: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

MATLAB BASICSMATLAB BASICS

1 23 45 6

a= 3x2 matrix 6 elements

b=[1 2 3 4] 1x4 array 4 elements, row vector

c=135

3x1 array 3 elements, column vector

a(2,1)=3 b(3)=3 c(2)=3

Row # Column #

Page 16: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Vectors

• A row vector in MATLAB can be created by an explicit list, starting with a left bracket, entering the values separated by spaces (or commas) and closing the vector with a right bracket.

• A column vector can be created the same way, and the rows are separated by semicolons.• Example:

>> x = [ 0 0.25*pi 0.5*pi 0.75*pi pi ]x = 0 0.7854 1.5708 2.3562 3.1416>> y = [ 0; 0.25*pi; 0.5*pi; 0.75*pi; pi ]y = 0 0.7854 1.5708 2.3562 3.1416

x is a row vector.

y is a column vector.

Page 17: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Vectors (con’t…)

• Vector Addressing – A vector element is addressed in MATLAB with an integer index enclosed in parentheses.

• Example:>> x(3)

ans =

1.5708

1st to 3rd elements of vector x

• The colon notation may be used to address a block of elements.

(start : increment : end)start is the starting index, increment is the amount to add to each successive index, and end is the ending index. A shortened format (start : end) may be used if increment is 1.

• Example:>> x(1:3)

ans =

0 0.7854 1.5708

NOTE: MATLAB index starts at 1.

3rd element of vector x

Page 18: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Vectors (con’t…)

Some useful commands:

x = start:end create row vector x starting with start, counting by one, ending at end

x = start:increment:end create row vector x starting with start, counting by increment, ending at or before end

length(x) returns the length of vector x

y = x’ transpose of vector x

dot (x, y) returns the scalar dot product of the vector x and y.

Page 19: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Array Operations

•Scalar-Array MathematicsFor addition, subtraction, multiplication, and division of an array by a

scalar simply apply the operations to all elements of the array.•Example:>> f = [ 1 2; 3 4]f = 1 2 3 4>> g = 2*f – 1g = 1 3 5 7

Each element in the array f is multiplied by 2, then subtracted by 1.

Page 20: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Array Operations (con’t…)

• Element-by-Element Array-Array Mathematics.

Operation Algebraic Form MATLAB

Addition a + b a + b

Subtraction a – b a – b

Multiplication a x b a .* b

Division a b a ./ b

Exponentiation ab a .^ b

• Example:>> x = [ 1 2 3 ];

>> y = [ 4 5 6 ];

>> z = x .* y

z =

4 10 18

Each element in x is multiplied by the corresponding element in y.

Page 21: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Matrices

A is an m x n matrix.

A Matrix array is two-dimensional, having both multiple rows and multiple columns, similar to vector arrays:

it begins with [, and end with ] spaces or commas are used to separate elements in a row semicolon or enter is used to separate rows.

•Example:>> f = [ 1 2 3; 4 5 6]f = 1 2 3 4 5 6>> h = [ 2 4 61 3 5]h = 2 4 6 1 3 5the main

diagonal

Page 22: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Matrices (con’t…)

• Matrix Addressing:-- matrixname(row, column)-- colon may be used in place of a row or column reference to select the

entire row or column.

recall:f = 1 2 3 4 5 6h = 2 4 6 1 3 5

Example:

>> f(2,3)

ans =

6

>> h(:,1)

ans =

2

1

Page 23: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Matrices (con’t…)

Some useful commands:

zeros(n)zeros(m,n)

ones(n)ones(m,n)

size (A)

length(A)

returns a n x n matrix of zerosreturns a m x n matrix of zeros

returns a n x n matrix of onesreturns a m x n matrix of ones

for a m x n matrix A, returns the row vector [m,n] containing the number of rows and columns in matrix.

returns the larger of the number of rows or columns in A.

Page 24: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Matrices (con’t…)

Transpose B = A’

Identity Matrix eye(n) returns an n x n identity matrixeye(m,n) returns an m x n matrix with ones on the main diagonal and zeros elsewhere.

Addition and subtraction C = A + BC = A – B

Scalar Multiplication B = A, where is a scalar.

Matrix Multiplication C = A*B

Matrix Inverse B = inv(A), A must be a square matrix in this case.rank (A) returns the rank of the matrix A.

Matrix Powers B = A.^2 squares each element in the matrixC = A * A computes A*A, and A must be a square matrix.

Determinant det (A), and A must be a square matrix.

more commands

A, B, C are matrices, and m, n, are scalars.

Page 25: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Solutions to Systems of Linear Equations

• Example: a system of 3 linear equations with 3 unknowns (x1, x2, x3):

3x1 + 2x2 – x3 = 10

-x1 + 3x2 + 2x3 = 5

x1 – x2 – x3 = -1

Then, the system can be described as:

Ax = b

111

231

123

A

3

2

1

x

x

x

x

1

5

10

b

Let :

Page 26: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Solutions to Systems of Linear Equations (con’t…)

• Solution by Matrix Inverse:Ax = bA-1Ax = A-1bx = A-1b

• MATLAB:>> A = [ 3 2 -1; -1 3 2; 1 -1 -1];>> b = [ 10; 5; -1];>> x = inv(A)*bx = -2.0000 5.0000 -6.0000

Answer:

x1 = -2, x2 = 5, x3 = -6

• Solution by Matrix Division:The solution to the equation

Ax = bcan be computed using left division.

Answer:

x1 = -2, x2 = 5, x3 = -6

NOTE: left division: A\b b A right division: x/y x y

MATLAB:>> A = [ 3 2 -1; -1 3 2; 1 -1 -1];>> b = [ 10; 5; -1];>> x = A\bx = -2.0000 5.0000 -6.0000

Page 27: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

• The input function displays a prompt string in the Command Window and then waits for the user to respond.

my_val = input( ‘Enter an input value: ’ );

in1 = input( ‘Enter data: ’ );

in2 = input( ‘Enter data: ’ ,`s`);

Initializing with Keyboard Input

Page 28: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

How to display dataHow to display data

The disp( ) function>> disp( 'Hello' )

Hello

>> disp(5)

5

>> disp( [ 'Bilkent ' 'University' ] )

Bilkent University

>> name = 'Alper';

>> disp( [ 'Hello ' name ] )

Hello Alper

Page 29: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Plotting

• For more information on 2-D plotting, type help graph2d• Plotting a point:

>> plot ( variablename, ‘symbol’)the function plot () creates a graphics window, called a Figure window, and named by default “Figure No. 1”

Example : Complex number>> z = 1 + 0.5j;>> plot (z, ‘.’)

Page 30: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Plotting (con’t…)

Page 31: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Built-in MATLAB Functions

result = function_name( input );– abs, sign– log, log10, log2– exp– sqrt– sin, cos, tan– asin, acos, atan– max, min– round, floor, ceil, fix– mod, rem

• help elfun help for elementary math functions

Page 32: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Selection Programming

• Flow Control

• Loops

Page 33: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Flow Control

• Simple if statement:if logical expression

commandsend

• Example: (Nested)if d <50

count = count + 1;disp(d);if b>d

b=0;end

end• Example: (else and elseif clauses)

if temperature > 100disp (‘Too hot – equipment malfunctioning.’)

elseif temperature > 90disp (‘Normal operating range.’);

elseif (‘Below desired operating range.’)else

disp (‘Too cold – turn off equipment.’)end

Page 34: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Flow Control (con’t…)

• The switch statement:switch expression

case test expression 1commands

case test expression 2commands

otherwisecommands

end• Example:

switch interval < 1case 1

xinc = interval /10;case 0

xinc = 0.1;end

Page 35: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Loops

• for loopfor variable = expression

commands

end

• while loopwhile expression

commands

end

•Example (for loop):for t = 1:5000

y(t) = sin (2*pi*t/10);end

•Example (while loop):EPS = 1;while ( 1+EPS) >1

EPS = EPS/2;endEPS = 2*EPS

the break statementbreak – is used to terminate the execution of the loop.

Page 36: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

M-Files

• The M-file is a text file that consists a group of MATLAB commands.

• MATLAB can open and execute the commands exactly as if they were entered at the MATLAB command window.

• To run the M-files, just type the file name in the command window. (make sure the current working directory is set correctly)

All MATLAB commands are M-files.

So far, we have executed the commands in the command window. But a more practical way is to create a M-file.

Page 37: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

User-Defined Function

• Add the following command in the beginning of your m-file:

function [output variables] = function_name (input variables);

NOTE: the function_name should be the same as your file name to avoid confusion.

calling your function:-- a user-defined function is called by the name of the m-file, not the name given in the function definition.-- type in the m-file name like other pre-defined commands. Comments:-- The first few lines should be comments, as they will be displayed if help is requested for the function name. the first comment line is reference by the lookfor command.

Page 38: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Specific Topics

• This tutorial gives you a general background on the usage of MATLAB.

• There are thousands of MATLAB commands for many different applications, therefore it is impossible to cover all topics here.

• For a specific topic relating to a class, you should consult the TA or the Instructor.

Page 39: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Questions?

Page 40: Introduction to Matlab Computer Fundamentals by Engr. Mohammad Haroon Yousaf

Topics

• Introduction• MATLAB Environment• Getting Help• Variables• Vectors, Matrices, and Linear Algebra• Mathematical Functions and Applications• Plotting• Selection Programming• M-Files• User Defined Functions• Specific Topics