INTRODUCTION TO MATLAB LAB 01 Introduction to Matlab
INTRODUCTION TO MATLAB LAB# 01
Introduction to Matlab • What is Matlab? – Matlab is a commercial “MATrix LABoratory” package by Mathworks, which operates as an interactive programming environment with graphical output. – The MATLAB programming language is exceptionally straight forward since almost every data object is assumed to be an Array. – In engineering MATLAB is displacing popular programming languages, due to its interactive interface, reliable algorithmic foundation, fully extensible environment and availability of different tool boxes.
Introduction to MATLAB • Entering and Running MATLAB – On a system running Microsoft Windows double click on the Matlab icon to launch Matlab. – A command window will appear with the prompt >> you are now in MATLAB. • Leaving Matlab – A MATLAB session may be terminated by simply typing >> quit or by typing >>exit at the MATLAB prompt. • Online Help Online help is available from the MATLAB prompt both generally and for specific commands. >> help demo
Desktop Tools (Matlab v 7) • Command Window – type commands Workspace – view program variables – clear to clear – double click on a variable to see it in the Array Editor • Command History – view past commands – save a whole session using diary
Variables • MATLAB is case sensitive, that is ‘a’ is not the same as ‘A’ – MATLAB has built in variables like pi, eps and ans. – The variable ans will keep track of the last output which was not assigned to another variable. • Variable Assignment: – The equality sign is used to assigned values to variables. • >> x = 3 y=x^2 – Out put can be suppressed by appending a semicolon to the command lines. • >> x = 3 ; y=x^2;
Variables • Active Variables: – Who • Removing Variables – Clear x – Clear • Saving and Restoring Variables – Save filename – Load filename
Variable Arithmetic • Operator precedence – 2 + 3 *4 ^ 2 • Double Precision Arithmetic – Normally the results will be displayed in a shorter form. • a = sqrt( 2 ) >> a = 1. 4142 – Format long • b = sqrt ( 2 ) >> b = 1. 41421356………. – Format short • Command Line Editing – The arrow keys allow “ command line editing”
Built in Mathematical Functions Meaning Examples Sin sine sin ( pi )=0. 0 Cos cosine cos ( pi )=1. 0 Tan tangent tan ( pi / 4)=1. 0 Exp exponential exp(1. 0)=2. 7183 log natural log(2. 7183)=1. 0 • Arguments to trigonometric functions are given in radians. – x= pi / 3; – sin( x ) ^ 2 + cos ( x ) ^ 2 = ?
Matrices • The element within a row of a matrix may be separated by a commas as well as a blank. • The elements of a matrix being created are enclosed by brackets. • A matrix is entered in “row major order” [i. e. all of the first row, then all of the second row; etc]; • Rows are separated by semicolon [or a new line], and the elements of the row may be separated by either a comma or space. • The following commands will create a 3 x 3 matrix and assigned it to the variable A. – >> A = [1 2 3; 4 5 6; 7 8 9]; or A = [1, 2, 3; 4, 5, 6; 7, 8, 9] – >> A = [ 1 2 3 4 5 6 7 8 9]
Matrices • The matrix element located in the i-th row and j-th column of A is referred to in the usual way: – >> A (1 , 2), A ( 2 , 3) • Matrices can be easily modified: – A ( 2 , 3 ) = 10; • Building Matrices from a Block: – Large matrices can be assembled from smaller matrix blocks i. e. • C = [A; 10 11 12]; • [A; A; A] • [A, A, A] • >> B = [A, zeros(3, 2); zeros(2, 3), eye( 2 ) ] ?
Built in Matrix Functions Function Description diag eye magic ones rand return diagonal M. E as a vector identity matrix magic squares matrix of ones randomly generated matrix zeros matrix of zeros
Built in Matrix Functions • Matrices of Random Entries: – >> rand ( 3 ) – >> rand ( m , n ) • Magic Squares: – A magic square is a square matrix which has equal sums along all its rows and columns. – >> magic ( 4 ) • Matrix of Ones: – >> eye ( m , n ) – >> eye ( n ) • Matrices of Zeros: – >> zeros ( m , n ) – >> zeros ( n ) • Diagonal Matrices: – >> diag (A) • diag ( A ) ) ?
Matrix Operations + * ^ ‘ / Addition Subtraction Multiplication Power Transpose Division . *. /. ^. ‘ element-by-element mul element-by-element div element-by-element power transpose * If the sizes of the matrices are incompatible for the matrix operation, an error message will result.
Matrix Operations • • • Matrix Transpose: – >> A’ Matrix Addition / Subtraction: – A + B, A – B Matrix Multiplication; – A * B , B * A. Round Floating Point Numbers to Integers: – >> f = [-. 5. 1. 5 ] – round (f) – ceil (f) – floor (f) – sum (f) – prod (f) Matrix Element Level Operations: – The matrix operation of addition and subtraction are already operates on an element by element basis but other operation given above do not. – Matlab has a convention in which a dot in front of the operations is used. – i. e [1 , 2 , 3 , 4 ]. * [ 1 , 2 , 3 , 4 ] – [1, 2, 3, 4 ]. ^ 2
Operators (relational, logical) == ~= < <= > >= equal not equal less than or equal greater than or equal & | ~ AND OR NOT
Branching Constructs • If – end Construct: if < condition >, • If - elseif - end Construct: if < condition 1 >, < program > end • < program 1> elseif <condition 2> < program 2 > If - else - end Construct: if < condition 1 >, < program 1> else < program 2 > end
Looping Constructs • For Loops: for i = 1 : n , < program>, end • While Loops: while < condition >, < program >, end • Nested For Loops: for i = 1 : n , for j = 1 : n , A(i, j) = i/j ; end
Matlab M-files • Matlab commands can be run from one file without having to enter each command one by one at Matlab prompt. • In order to use the programs later in Matlab they are to be saved first. • For this purpose programs should be written in the editor / debugger. – In command window go to File menu, new and select M-file. – Code your algorithm – Execute it from the command window by typing file name
Matlab User Defined Function • Matlab User Defined Function can have an input and output. • Arguments can be passed to a function for computation • For this purpose programs should be written in the editor / debugger. – In command window go to File menu, new and select M-file. – function add x = 3; z=x+y y = 5; – Save the file and write add at the command prompt – function addv (x, y) Z=x+y – Save the file and write addv(5, 6) at the command prompt – % is used for commenting in front of a statement
Input/ Output • Request User Input – data=input(‘message’); – data=input(‘message’, ’s’) • Ouput Data – disp(‘message’) – disp(variable_name)
Matlab Graphics x = 0: pi/100: 2*pi; y = sin(x); plot(x, y) xlabel('x = 0: 2pi') ylabel('Sine of x') title('Plot of the Sine Function')
Multiple Graphs t = 0: pi/100: 2*pi; y 1=sin(t); y 2=sin(t+pi/2); plot(t, y 1, t, y 2) grid on
Multiple Graphs x = 0 : . 01 : 2 * pi; y 1= sin (x); y 2 =sin (2*x); y 3 = sin (4*x); plot(x, y 1, ‘--', x, y 2, ‘-‘, x, y 3, ‘+') grid title ('Dashed line and dotted line graph')
Multiple Plots t = 0: pi/100: 2*pi; y 1=sin(t); y 2=sin(t+pi/2); subplot(2, 2, 1) plot(t, y 1) subplot(2, 2, 2) plot(t, y 2)
Three Dimensional Graphics x = -1: . 1: 1 ; y = -1: . 1: 1; for i=1: 1: length(x) for j=1: 1: length(y) z(i, j)=x(i)^2+y(j)^2; end mesh(z);
Graph Functions (summary) • • • • plot (x, y) plot (x, y 1, x, y 2) mesh(z) stem (x) xlabel (‘X-axis label ’) ylabel (‘Y-axis label ’) title (‘title of plot’) subplot (m, n, p) grid hold zoom figure pause linear plot multiple plots on the same graph 3 -D graph discrete plot add X-axis label add Y-axis label add graph title divide figure window add grid lines hold current graph in the figure allow zoom in/out using mouse create new figure window wait for user response
- Slides: 26