# Introduction to Matlab Οικονομίδης Δημήτρης

## Presentation on theme: "Introduction to Matlab Οικονομίδης Δημήτρης"— Presentation transcript:

Introduction to Matlab Οικονομίδης Δημήτρης doikon@telecom.tuc.gr 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 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 pi3.14159265… jimaginary unit, isame 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 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) plotlinear plot stemdiscrete plot gridadd grid lines xlabeladd X-axis label ylabel add Y-axis label titleadd graph title subplotdivide figure window figurecreate new figure window pausewait 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

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

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)/10000ans = 0.0275p[2]=0.0278 sum(y==3)/10000ans = 0.0554p[3]=0.0556 sum(y==4)/10000ans = 0.0841p[4]=0.0833 sum(y==5)/10000ans = 0.1082p[5]=0.1111 sum(y==6)/10000ans = 0.1397p[6]=0.1389 sum(y==7)/10000ans = 0.1705p[7]=0.1667 sum(y==8)/10000ans = 0.1407p[8]=0.1389 sum(y==9)/10000ans = 0.1095p[9]=0.1111 sum(y==10)/10000ans = 0.0794p[10]=0.0833 sum(y==11)/10000ans = 0.0585p[11]=0.0556 sum(y==12)/10000ans = 0.0265p[12]=0.0278

Sum of Two Dies for i=2:12 z(i)=sum(y==i)/10000 end bar(z)

Bernoulli Trials-Binomial Distribution k=0:20; y=binopdf(k,20,0.5); stem(k,y) Bernoulli1720 k=0:20; y=binopdf(k,20,0.2); stem(k,y)

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)

Similar presentations