Post on 21-Dec-2015
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 =
12
51
Matrices
• x(i,j) subscription
• whole row
• whole column
y=x(2,3)
y =
4
y=x(3,:)
y =
3 2 -1
y=x(:,2)
y =
2
1
2
Operators (arithmetic)
+ addition
- subtraction
* multiplication
/ division
^ power
‘ complex conjugate transpose
.* element-by-element mult
./ element-by-element div
.^ element-by-element power
.‘ transpose
Operators (relational, logical)
== equal
~= not equal
< less than
<= less than or equal
> greater than
>= greater than or equal
& AND
| OR
~ NOT
1
pi 3.14159265…
j imaginary unit,
i same as j
Generating Vectors from functions
• zeros(M,N) MxN matrix of zeros
• ones(M,N) MxN matrix of ones
• rand(M,N) MxN matrix of uniformly distributed
random numbers on (0,1)
x = zeros(1,3)
x =
0 0 0
x = ones(1,3)
x =
1 1 1
x = rand(1,3)
x =
0.9501 0.2311 0.6068
Operators
[ ] concatenation
( ) subscription
x = [ zeros(1,3) ones(1,2) ]
x =
0 0 0 1 1
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 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
• stem discrete plot
• grid add grid lines
• xlabel add X-axis label
• ylabel add Y-axis label
• title add graph title
• subplotdivide 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
'greater'
elseif A < B
'less'
else
'equal'
end
for x = 1:10
r(x) = x;
end
• if statement• switch statement
• for loops• while loops
• continue statement• break statement
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
Coin Tosses
• Simulate the outcomes of 100 fair coin tossesx=rand(100,1);p=sum(x<0.5)/100
p = 0.5400
• Simulate the outcomes of 1000 fair coin tossesx=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
.
.
.
.
.
. . . . .
.
. . . .. .
... .
.
...
.
...
.. .. .. .
(1,1) (2,1) (3,1) (4,1) (5,1) (6,1)
(3,2) (4,2) (5,2) (6,2)
(3,3) (4,3) (5,3) (6,3)
(2,2)(1,2)
(2,3)(1,3)
(1,4) (2,4) (3,4) (4,4) (5,4) (6,4)
(3,5) (4,5) (5,5) (6,5)(2,5)(1,5)
(3,6) (4,6) (5,6) (6,6)(2,6)(1,6)
1 2 3 4 5 6
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.0278sum(y==3)/10000 ans = 0.0554 p[3]=0.0556sum(y==4)/10000 ans = 0.0841 p[4]=0.0833sum(y==5)/10000 ans = 0.1082 p[5]=0.1111sum(y==6)/10000 ans = 0.1397 p[6]=0.1389sum(y==7)/10000 ans = 0.1705 p[7]=0.1667sum(y==8)/10000 ans = 0.1407 p[8]=0.1389sum(y==9)/10000 ans = 0.1095 p[9]=0.1111sum(y==10)/10000 ans = 0.0794 p[10]=0.0833sum(y==11)/10000 ans = 0.0585 p[11]=0.0556sum(y==12)/10000 ans = 0.0265 p[12]=0.0278
Bernoulli Trials-Binomial Distribution
k=0:20;
y=binopdf(k,20,0.5);
stem(k,y)
( ) (1 ) , 0,1,...,k n knp k p p k n
k-
æö÷ç ÷= - =ç ÷ç ÷çè øBernoulli 1720
k=0:20;
y=binopdf(k,20,0.2);
stem(k,y)
20 0.5n p= = 20 0.1n p= =
Combinatorics
• Permutations: n objects
• Permutations: choose k objects from n(hint: fill 2 spaces on a bookshelf with books chosen from 5 available books)
• Combinations:choose k objects from n without
regard to the order(hint: make a committee of 2 people chosen from a group of 5 people)
!n
!
( )!nk
nP
n k=
-
!
!( )!
n n
k k n k
æö÷ç ÷=ç ÷ç ÷ç -è ø
n n
k n k
æö æ ö÷ ÷ç ç÷ ÷=ç ç÷ ÷ç ç÷ ÷ç ç -è ø è ø
!1
0 0! !
n n n
n n
æö æö÷ ÷ç ç÷ ÷= = =ç ç÷ ÷ç ç÷ ÷ç çè ø è ø
!
1 1 1!( 1)!
n n nn
n n
æö æ ö÷ ÷ç ç÷ ÷= = =ç ç÷ ÷ç ç÷ ÷ç ç - -è ø è ø