01 Introduction

  • Uploaded by: api-3824811
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 01 Introduction as PDF for free.

More details

  • Words: 1,002
  • Pages: 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

• a matrix

1

x = [1 2 3; 5 1 4; 3 2 -1]

x = 1 5 3

• transpose

2 1 2

3 4 -1 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

• whole column

y=x(:,2) y = 2 1 2

2

-1

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

pi 3.14159265… j imaginary unit, i same as j

1

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

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 stem grid xlabel ylabel title subplot figure pause

linear plot discrete plot add grid lines add X-axis label add Y-axis label add graph title divide figure window create new figure window 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 • switch • for • while • continue • break

statement statement loops loops statement statement

if A > B 'greater' elseif A < B 'less' else 'equal' end

for x = 1:10 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 4

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

1

2

3

4

5

6

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

3 2

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

1

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

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 sum(y==3)/10000 ans = 0.0554 sum(y==4)/10000 ans = 0.0841 sum(y==5)/10000 ans = 0.1082 sum(y==6)/10000 ans = 0.1397 sum(y==7)/10000 ans = 0.1705 sum(y==8)/10000 ans = 0.1407 sum(y==9)/10000 ans = 0.1095 sum(y==10)/10000 ans = 0.0794 sum(y==11)/10000 ans = 0.0585 sum(y==12)/10000 ans = 0.0265

p[2]=0.0278 p[3]=0.0556 p[4]=0.0833 p[5]=0.1111 p[6]=0.1389 p[7]=0.1667 p[8]=0.1389 p[9]=0.1111 p[10]=0.0833 p[11]=0.0556 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÷ k n- k p(k ) = ç p (1 p ) , ç÷ ÷ ÷ ç èk ø

k = 0,1,..., n

k=0:20; y=binopdf(k,20,0.5); stem(k,y)

n = 20

p = 0.5

Bernoulli

1720

k=0:20; y=binopdf(k,20,0.2); stem(k,y)

n = 20

p = 0.1

Combinatorics • Permutations:

n objects

• Permutations:

choose k objects from n

n!

Pkn =

(hint: fill 2 spaces on a bookshelf with books chosen from 5 available books)

• Combinations:

choose k objects from n without æö n÷ ç regard to the order ÷= ç ç÷

(hint: make a committee of 2 people chosen from a group of 5 people)

æö n÷ æ n ö ÷ ç ç ÷ =ç ç÷ ÷ ÷ ÷ ç ç èk ø èn - k ÷ ø

n! ( n - k )!

æö n÷ æö n÷ n ! ç ç ÷ = = =1 ç÷ ç÷ ÷ ÷ ÷ ç ç è0ø ènø 0!n !

n! ç èk ÷ ø k !(n - k )!

æö n÷ æ n ö n! ÷ ç ç ÷ ÷ = = =n ç÷ ç ÷ ÷ ÷ ç ç è1ø èn - 1ø 1!(n - 1)!

Related Documents

01 Introduction
July 2020 10
01 Introduction
December 2019 34
01 Introduction
May 2020 7
01 Introduction
November 2019 27
01 01 Introduction
December 2019 23
01 - Introduction
October 2019 48