0% found this document useful (0 votes)
132 views26 pages

Matlab Intro11.12.08 Sina

This document provides an introduction to using MATLAB. It discusses MATLAB's working environments and some useful commands. It then covers creating and manipulating vectors, arrays, matrices, and plots. It also introduces flow control statements like if/else and switch statements, as well as for and while loops. Finally, it discusses random variables, user-defined functions, and M-files.

Uploaded by

Bernard Kenda
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
132 views26 pages

Matlab Intro11.12.08 Sina

This document provides an introduction to using MATLAB. It discusses MATLAB's working environments and some useful commands. It then covers creating and manipulating vectors, arrays, matrices, and plots. It also introduces flow control statements like if/else and switch statements, as well as for and while loops. Finally, it discusses random variables, user-defined functions, and M-files.

Uploaded by

Bernard Kenda
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

How to Use MATLAB

A Brief Introduction

MATLAB Working Environments

Some Useful Commands


help clear ; (semicolon) % (percent sign) clc % list all the topics % remove all the data in current session % prevent commands from outputing results % comments line % clears the screen

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 is a row vector. x= 0 0.7854 1.5708 2.3562 3.1416 >> y = [ 0; 0.25*pi; 0.5*pi; 0.75*pi; pi ] y= 0 y is a column vector. 0.7854 1.5708 2.3562 3.1416
4

Vectors (cont)
Vector Addressing A vector element is addressed in MATLAB with an integer index enclosed in parentheses. Example:
>> x(3) ans = 1.5708

3rd element 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

1st to 3rd elements of vector x


5

NOTE: MATLAB index starts at 1.

Vectors (cont)
Some useful commands:
x = start:end
create row vector x starting with start, counting by one, ending at end create row vector x starting with start, counting by increment, ending at or before end create row vector x starting with start, ending at end, having number elements returns the length of vector x transpose of vector x returns the scalar dot product of the vector x and y.

x = start:increment:end
linspace(start,end,number) length(x) y = x dot (x, y)

Array Operations
Scalar-Array Mathematics For 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 Each element in the array f is 3 4 multiplied by 2, then subtracted >> g = 2*f 1 g= by 1. 1 3 5 7

Array Operations (cont)


Element-by-Element Array-Array Mathematics.
Operation
Addition Subtraction Multiplication Division Exponentiation

Algebraic Form
a+b ab axb ab ab

MATLAB
a+b ab a .* b a ./ b 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.


8

Matrices
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 6 1 3 5] h= 2 4 6 1 3 5

A is an m x n matrix.

the main diagonal

Matrices (cont)
Matrix Addressing: -- matrixname(row, column) -- colon may be used in place of a row or column reference to select the entire row or column. Example: >> f(2,3) ans = 6 >> h(:,1) ans = 2 1
10

recall: f= 1 4 h= 2 1

2 5 4 3

3 6 6 5

Matrices (cont)
Some useful commands:
zeros(n) zeros(m,n) ones(n) ones(m,n) size (A) returns a n x n matrix of zeros returns a m x n matrix of zeros returns a n x n matrix of ones returns 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.

length(A)

11

Matrices (cont)
more commands
Transpose Identity Matrix B = A eye(n) returns an n x n identity matrix eye(m,n) returns an m x n matrix with ones on the main diagonal and zeros elsewhere. C=A+B C=AB B = A, where is a scalar. C = A*B B = inv(A), A must be a square matrix in this case. rank (A) returns the rank of the matrix A. B = A.^2 C=A*A squares each element in the matrix computes A*A, and A must be a square matrix.

Addition and subtraction Scalar Multiplication Matrix Multiplication Matrix Inverse Matrix Powers Determinant

det (A), and A must be a square matrix. A, B, C are matrices, and m, n, are scalars.
12

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

>> plot ( variablename, symbol)


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

13

Plotting (cont)
Plotting Curves:
plot (x,y) generates a linear plot of the values of x (horizontal axis) and y (vertical axis). semilogx (x,y) generate a plot of the values of x and y using a logarithmic scale for x and a linear scale for y semilogy (x,y) generate a plot of the values of x and y using a scale for y. linear scale for x and a logarithmic loglog(x,y) generate a plot of the values of x and y using logarithmic scales for both x and y

Subplots:
subplot (m, n, p) m by n grid of windows, with p specifying the current plot as the pth window
14

Plotting (cont)
Example: (polynomial function) plot the polynomial using linear/linear scale, log/linear scale, linear/log scale, & log/log scale: y = 2x2 + 7x + 9 % Generate the polynomial:
x = linspace (0, 10, 100); y = 2*x.^2 + 7*x + 9; % plotting the polynomial: figure (1); subplot (2,2,1), plot (x,y); title ('Polynomial, linear/linear scale'); ylabel ('y'), grid; subplot (2,2,2), semilogx (x,y); title ('Polynomial, log/linear scale'); ylabel ('y'), grid; subplot (2,2,3), semilogy (x,y); title ('Polynomial, linear/log scale'); xlabel('x'), ylabel ('y'), grid; subplot (2,2,4), loglog (x,y); title ('Polynomial, log/log scale'); xlabel('x'), ylabel ('y'), grid;

15

Plotting (cont)

16

Plotting (cont)
Adding new curves to the existing graph: Use the hold command to add lines/points to an existing plot.
hold on retain existing axes, add new curves to current axes. Axes are rescaled when necessary. hold off release the current figure window for new plots

Grids and Labels:


Command grid on grid off grid title (text) xlabel (text) ylabel (text) text (x,y,text) Description Adds dashed grids lines at the tick marks removes grid lines (default) toggles grid status (off to on, or on to off) labels top of plot with text in quotes labels horizontal (x) axis with text is quotes labels vertical (y) axis with text is quotes Adds text in quotes to location (x,y) on the current axes, where (x,y) is in units from the current plot.

17

Plot3
t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t); grid on axis square

18

Flow Control
Simple if statement: if logical expression

commands end
Example: (Nested) if d <50 count = count + 1; disp(d); if b>d b=0; end end Example: (else and elseif clauses) if temperature > 100 disp (Too hot equipment malfunctioning.) elseif temperature > 90 disp (Normal operating range.); elseif (Below desired operating range.) else disp (Too cold turn off equipment.) end

19

Flow Control (cont)


The switch statement:
switch expression case test expression 1 commands case test expression 2

commands
otherwise commands end

Example:
switch interval < 1 case 1 xinc = interval /10; case 0 xinc = 0.1; end

20

Loops
for loop
for variable = 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; end EPS = 2*EPS

while loop
while expression

commands end

the break statement break is used to terminate the execution of the loop.

21

M-Files
The M-file is a text file that consists a group of MATLAB commands. All MATLAB commands are M-files.

22

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 -- 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.
23

Random Variable
randn randi rand

24

Random Variable
v=25; %variance m=10; %mean x=sqrt(v)*randn(1, 1000) + m*ones(1, 1000); figure; plot (x); grid; xlabel ('Sample Index'); ylabel ('Amplitude'); title ('One thousands samples of a Gaussian random variable(mean=10, standard deviation=5)');
25

Exp2-Random Variable
One thousands samples of a Gaussian random variable(mean=10, standard deviation=5) 25 20

15 Amplitude

10

-5

100

200

300

400 500 600 Sample Index

700

800

900

1000

26

You might also like