0% found this document useful (0 votes)
37 views

Introduction To Matlab: Doikon@

Matlab is a software program used for numerical computation and visualization. It allows the user to analyze data, develop algorithms, and create models and applications. The main components of the Matlab desktop include the Command Window, Workspace, Command History, and Launch Pad. Matlab uses .m files to write and run functions and code. It also supports matrices and operators to perform arithmetic and logical operations on data. Graphical output can be generated to visualize results.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views

Introduction To Matlab: Doikon@

Matlab is a software program used for numerical computation and visualization. It allows the user to analyze data, develop algorithms, and create models and applications. The main components of the Matlab desktop include the Command Window, Workspace, Command History, and Launch Pad. Matlab uses .m files to write and run functions and code. It also supports matrices and operators to perform arithmetic and logical operations on data. Graphical output can be generated to visualize results.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Introduction to Matlab

[email protected]
http://www.telecom.tuc.gr
Desktop Tools (Matlab v6)

• 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

• Launch Pad
   
– access tools, demos and documentation
Matlab Files (.m)

• Use predefined functions or write your own functions

• Reside on the current directory or the search path
– add with File/Set Path

• Use the Editor/Debugger to edit, run

   
Matrices

• a vector x = [1 2 5 1]

x =
   1   2   5   1

• a matrix x = [1 2 3; 5 1 4; 3 2 ­1]

x =
    1     2     3
      5     1     4
     3     2    ­1

• transpose y = x.’     y =


   1
2
    
    5
1
Matrices

• x(i,j) subscription y=x(2,3)
y =
     4

y=x(3,:)
• whole row y =
     3     2    ­1

y=x(:,2)
• whole column y =
     2
     1
   
     2
Operators (arithmetic)

+ addition
­ subtraction
* multiplication .* element­by­element mult
/ division ./ element­by­element div
^ power .^ element­by­element power
‘ complex conjugate  .‘ transpose
transpose

   
Operators (relational, logical) 

== equal pi 3.14159265…
~= not equal j imaginary unit,  −1
< less than i same as j
<= less than or equal
> greater than
>= greater than or equal

& AND
| OR
~ NOT
   
Generating Vectors from functions

x = zeros(1,3)
• zeros(M,N) MxN matrix of zeros x =
0     0     0

• ones(M,N) MxN matrix of ones x = ones(1,3)


x =
1     1     1

• rand(M,N) MxN matrix of uniformly 
x = rand(1,3)
distributed random numbers 
on (0,1) x =
    0.9501  0.2311  0.6068

   
Operators

[ ] concatenation x = [ zeros(1,3) ones(1,2) ]


x =
     0  0  0  1  1

( ) subscription x = [ 1 3 5 7 9]


x =
     1  3  5  7  9

y = x(2)
y =
     3
y = x(2:4)
y =
   
     3  5  7
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 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)

   
Graph Functions (summary)

• plot linear plot
• stemdiscrete plot
• grid add grid lines
• xlabel add X­axis label
• ylabel  add Y­axis label
• title add graph title
• subplot divide figure window 
• figure create new figure window
• pause wait for user response
   
Math Functions

• Elementary functions (sin, cos, sqrt, abs, exp, log10, round)
– type help elfun

• Advanced functions (bessel, beta, gamma, erf)
– type help specfun
– type help elmat

   
Functions

function f=myfunction(x,y)
f=x+y;

• save it in myfunction.m
• call it with y=myfunction(x,y)

   
Flow Control

if A > B
• if  statement 'greater'
• switch  statement elseif A < B
'less'
else
• for  loops 'equal'
• while  loops end

• continue  statement for x = 1:10


• break  statement r(x) = x;
end

   
Miscellaneous

• Loading data from a file
– load myfile.dat

• Suppressing Output 
– x = [1 2 5 1];

   
Getting Help

• Using the Help Browser (.html, .pdf)
– View getstart.pdf, graphg.pdf, using_ml.pdf

• Type 
– help 
– help function, e.g. help plot

• Running demos 
– type demos
– type help demos

   
Random Numbers

x=rand(100,1);
stem(x);

hist(x,100)

   
Coin Tosses

• Simulate the outcomes of 100 fair coin tosses
x=rand(100,1);
p=sum(x<0.5)/100

p =
    0.5400
• Simulate the outcomes of 1000 fair coin tosses
x=rand(1000,1);
p=sum(x<0.5)/1000

p =
    0.5110

   
Coin Tosses

• Simulate the outcomes of 1000 biased coin tosses with 
p[Head]=0.4
x=rand(1000,1);
p=sum(x<0.4)/1000

p =
    0.4160

   
Sum of Two Dies

• Simulate 10000 observations of the sum of two fair dies

6 . . . . . .
5 . . . . . .
(1,6) (2,6) (3,6) (4,6) (5,6) (6,6)

4 . . . . . .
(1,5) (2,5) (3,5) (4,5) (5,5) (6,5)

3 . . . . . .
(1,4) (2,4) (3,4) (4,4) (5,4) (6,4)

2 . . . . . .
(1,3) (2,3) (3,3) (4,3) (5,3) (6,3)

1 . . . . . .
(1,2) (2,2) (3,2) (4,2) (5,2) (6,2)

(1,1) (2,1) (3,1) (4,1) (5,1) (6,1)

1 2 3 4 5 6
   
Sum of Two Dies
• Simulate 10000 observations of the sum of two fair dies

x1=floor(6*rand(10000,1)+1);
x2=floor(6*rand(10000,1)+1);
y=x1+x2;
sum(y==2)/10000 ans = 0.0275 p[2]=0.0278
sum(y==3)/10000 ans = 0.0554 p[3]=0.0556
sum(y==4)/10000 ans = 0.0841 p[4]=0.0833
sum(y==5)/10000 ans = 0.1082 p[5]=0.1111
sum(y==6)/10000 ans = 0.1397 p[6]=0.1389
sum(y==7)/10000 ans = 0.1705 p[7]=0.1667
sum(y==8)/10000 ans = 0.1407 p[8]=0.1389
sum(y==9)/10000 ans = 0.1095 p[9]=0.1111
sum(y==10)/10000 ans = 0.0794 p[10]=0.0833
sum(y==11)/10000 ans = 0.0585 p[11]=0.0556
sum(y==12)/10000 ans = 0.0265 p[12]=0.0278
   
Sum of Two Dies

for i=2:12
z(i)=sum(y==i)/10000
end
bar(z)

   
Bernoulli Trials­Binomial Distribution
� n�
p(k ) = p k (1- p)n- k , k = 0,1,..., n Bernoulli 1720
�k�
k=0:20; k=0:20;
y=binopdf(k,20,0.5); y=binopdf(k,20,0.2);
stem(k,y) stem(k,y)

n = 20 p = 0.5 n = 20 p = 0.1

   
Combinatorics

• Permutations: n objects n!

n!
• Permutations: choose k objects from n Pkn =
(n - k )!
(hint: fill 2 spaces on a bookshelf with books chosen from 5 available books)

• Combinations: choose k objects from n without 
� n� n!
regard to the order =
�k� k !(n - k )!
(hint: make a committee of 2 people chosen from a group of 5 people)

� n�� � n �� � n�� � n�� � n�� � n ��


�� � = �� � �� � = �� � = n ! = 1 �� � = �� � =
n!
=n
� � k ��� �� n - k ��� �� 0��� �� n��� 0!n !   �� 1��� �� n - 1��� 1!(n - 1)!

You might also like