INTRODUCTION TO MATLAB LAB# 01
description
Transcript of INTRODUCTION TO MATLAB LAB# 01
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 Descriptiondiag 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
+ Addition
- Subtraction
* Multiplication
^ Power
‘ Transpose
/ Division
* If the sizes of the matrices are incompatible for the matrix operation, an error message will result.
.* element-by-element mul
./ element-by-element div
.^ element-by-element power
.‘ transpose
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
Branching Constructs
• 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
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
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 addx = 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')
Multiple Graphs
t = 0:pi/100:2*pi;
y1=sin(t);
y2=sin(t+pi/2);
plot(t,y1,t,y2)
grid on
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