1 / 26

Introduction to Matlab

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

athalia
Download Presentation

Introduction to Matlab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Matlab Οικονομίδης Δημήτρης doikon@telecom.tuc.gr http://www.telecom.tuc.gr

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

  3. Matlab Files (.m) • Use predefined functions or write your own functions • Reside on the current directoryor the search path • add with File/Set Path • Use the Editor/Debugger to edit, run

  4. Matrices • a vectorx = [1 2 5 1] x = 1 2 5 1 • a matrixx = [1 2 3; 5 1 4;3 2 -1] x = 1 2 3 5 1 4 3 2 -1 • transposey = x.’ y = 1 2 5 1

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

  6. Operators (arithmetic) + addition - subtraction * multiplication / division ^ power ‘ complex conjugate transpose .* element-by-element mult ./ element-by-element div .^ element-by-element power .‘ transpose

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

  8. 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 = 111 x = rand(1,3) x = 0.9501 0.2311 0.6068 Generating Vectors from functions

  9. [ ] 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 Operators

  10. 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')

  11. t = 0:pi/100:2*pi; y1=sin(t); y2=sin(t+pi/2); plot(t,y1,t,y2) grid on Multiple Graphs

  12. 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)

  13. 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 • subplot divide figure window • figure create new figure window • pause wait for user response

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

  15. Functions function f=myfunction(x,y) f=x+y; • save it in myfunction.m • call it with y=myfunction(x,y)

  16. Flow Control • if statement • switch statement • for loops • while loops • continue statement • break statement if A > B 'greater' elseif A < B 'less' else 'equal' end for x = 1:10 r(x) = x; end

  17. Miscellaneous • Loading data from a file • load myfile.dat • Suppressing Output • x = [1 2 5 1];

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

  19. Random Numbers x=rand(100,1); stem(x); hist(x,100)

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

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

  22. Sum of Two Dies • Simulate 10000 observations of the sum of two fair dies

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

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

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

  26. 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)

More Related