291 likes | 557 Views
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.
E N D
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 >> help demo
Desktop Tools (Matlab v7) • 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 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 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 return diagonal M.E as a vector eye identity matrix magic magic squares ones matrix of ones rand 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 ( diag ( A ) ) ?
Matrix Operations .* element-by-element mul ./ element-by-element div .^ element-by-element power .‘ transpose + Addition - Subtraction * Multiplication ^ Power ‘ Transpose / Division * 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 <= less than or equal > greater than >= greater than or equal & AND | OR ~ NOT
If – end Construct: if < condition >, < program > end If - else - end Construct: if < condition 1 >, < program 1> else < program2 > end If - elseif - end Construct: if < condition1 >, < program 1> elseif <condition2> < program2 > end Branching 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 end Looping Constructs
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; y = 5; z = x + y • 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:2\pi') ylabel('Sine of x') title('Plot of the Sine Function')
t = 0:pi/100:2*pi; y1=sin(t); y2=sin(t+pi/2); plot(t,y1,t,y2) grid on Multiple Graphs
Multiple Graphs x = 0 : .01 : 2 * pi; y1= sin (x); y2 =sin (2*x); y3 = sin (4*x); plot(x,y1,‘--',x,y2,‘-‘,x,y3,‘+') grid title ('Dashed line and dotted line graph')
Multiple Plots t = 0:pi/100:2*pi; y1=sin(t); y2=sin(t+pi/2); subplot(2,2,1) plot(t,y1) subplot(2,2,2) plot(t,y2)
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 end mesh(z);
Graph Functions (summary) • plot (x,y) linear plot • plot (x,y1,x,y2) multiple plots on the same graph • mesh(z) 3-D graph • stem (x) discrete plot • xlabel (‘X-axis label ’) add X-axis label • ylabel (‘Y-axis label ’) add Y-axis label • title (‘title of plot’) add graph title • subplot (m,n,p) divide figure window • grid add grid lines • hold hold current graph in the figure • zoom allow zoom in/out using mouse • figure create new figure window • pause wait for user response